What's the difference between an initial value problem and a boundary value problem? I don't really see the difference, because in both case we need to determine y and the values of the constants. The only difference is that we give the value of y and y' in the former and the value of either 2 y or 2 y' in the latter. 

I solve both problems the same way. I don't really understand the theory, I guess.
For a simple example (second order ODE), an initial value problem would say $y(a)=p$, $y'(a)=q$.

A boundary value problem would specify $y(a)=p$, $y(b)=q$.
In initial value problem we always want to determine the value of f(x)and f'(x) at initial point it may be 0 or something else but initial like f(1)=3 and f'(1)=2 then we can determine the constant.But in boundry value problem the condition will in form of a interval i.e.f(0)=3,f(2)=5