differential equations – How to obtain eigenvalues from an ODE’s general solution?


For this second-order linear ODE (eigenvalue e)
$$y”(x) – 2g, y'(x) + (-e + g^2 – (frac{b^2x^2}{2}+a)^2 + b^2x), y(x)=0$$
I know the correct analytical general solution form with two undetermined constants c1,c2 (verified in the code below where y1,y2 is given)
$$y=c1,y1(x)+c2,y2(x)$$
I want to impose the boundary condition $y(pm5)=0$ in order to get the eigenvalue $lambda$. (Actually $y(pminfty)=0$, but not much numerical difference, I suppose.) So I put c1=1 and tried FindRoot e and c2 together, but it didn’t work well. So I was wondering if I need to tune any option or some other methods?
I also add a direct numerical solution as a reference.

F := (D(#, {x, 2}) - 
     2 g D(#, x) + (-e + g^2 - (b^2 x^2/2 + a)^2 + b^2 x) #) &;
y1(x_) := E^(-(1/6) b^2 x^3 - x a + x g) HeunT(e, 0, -2 a, 0, -b^2, x);
y2(x_) := E^(-(1/6) b^2 x^3 - x a + x g) HeunT(e, 0, -2 a, 0, -b^2, x);
y(x_) := c1 y1(x) + c2 y2(x);
F(y(x)) == 0 // FullSimplify

g = 0.2; a = 0.3 - I 0.3; b = 1;
FindRoot(0 == 
   y(x) /. {{c1 -> 1, x -> 5}, {c1 -> 1, x -> -5}}, {{e, -0.3}, {c2, 
   1}}, WorkingPrecision -> 55)

FF = F /. e -> 0;
{vals, funs} = NDEigensystem(FF(yy(x)), yy(x), {x, -5, 5}, 5);
vals
Plot(Evaluate@Abs@funs, {x, -5, 5}, PlotRange -> All, 
 PlotLegends -> Automatic)