# 1/0 encountered when solving an ODE

What can cause this error to show up?

Clear[lambda, a, b, x, y];
ode = lambda y[x] + a b y'[x] + a (-1 + b x) y''[x] + y''''[x] == 0;
DSolve[ode, y[x], x]


Verion 10, windows 7.

It seems like nobody has an answer for this, and unfortunately the best answer I can give is that it is a mystery of the internal workings of DSolve. Some of these functions and their methods are not necessarily well-documented (at least, not the internals) to the public. Maybe there is info out there explaining this error, but I can't find it.

If I had to guess, I'd assume that it figured out that your DE was linear and then tried to do something with the second-to-highest coefficient and didn't notice it's not allowed to divide by that one.

One thing you may (or may not) realize is that this still is solving your DE. Try this:

Clear[\[Lambda], a, b, x, y, y0, yp0, ypp0, yppp0];
\[Phi][x_, a_, b_, \[Lambda]_, y0_, yp0_, ypp0_, yppp0_] =
ReplaceAll[y[x],
DSolve[
{\[Lambda] y[x] + a b y'[x] + a (-1 + b x) y''[x] + y''''[x] == 0,
y[0] == y0,
y'[0] == yp0,
y''[0] == ypp0,
y'''[0] == yppp0
}, y[x], x]
][[1]
]
Plot[\[Phi][x, 1, 1, 1, 1, 1, 1, 1], {x, 0, 10}]


Note that this function \[Phi] is not amenable to Reals as input. You would have to be careful about that (for example, trying to wrap a Manipulate around this Plot using non-integer values of a or b will result in problems).

This should probably have been a short comment (or perhaps 2-3 short comments), but I wanted to give you some kind of thorough answer (bigger than a comment) since nobody else is offering anything. I'm sorry I can't answer the question why is the 1/0 error occurring, but it must have something to do with the methods used by DSolve. It has not given you a fatal error and does return a function (in a less-than-pretty form, I'll admit) that solves the DE and that you can use to do whatever you want (e.g. Plot it).