Question: shooting method

why do i get this 
"Error, (in solve) cannot solve expressions with diff(diff(y(x), x), x) for x"
when i input these: 
> restart; with(DEtools); with(plots); with(linalg);
> ode2 := x^2*(diff(y(x), `$`(x, 2)))+x*(diff(y(x), x))+4*y(x) = -2*x+7; bc2 := y(1) = 7, y(4) = -1;
a := 1; b := 4
ic2 := bc2[1], (D(y))(a) = alpha
constraint := lhs(bc2[2])-rhs(bc2[2]); constraint = 0
 
a0 := 0; y0 := eval(constraint, y(b) = Yb(eval({ic2, ode2}, alpha = a0), y(x), b)); a1 := 1; y1 := eval(constraint, y(b) = Yb(eval({ic2, ode2}, alpha = a1), y(x), b)); while fnormal(y1-y0) <> 0 do z := solve(y1 = (y1-y0)*(a1-x)/(a1-a0), x); a0, a1 := a1, z; y0, y1 := y1, eval(constraint, y(b) = Yb(eval({ic2, ode2}, alpha = z), y(x), b)) end do; alpha_opt2 := z
Please Wait...