Cross posted in Mathematica.SE, I'll try to rephrase it in a more general way here.
A friend of mine showed me this initial value problem (IVP) for a linear ordinary differential equation (ODE) with variable coefficient:
Seems to be a simple one, right? Actually it can be solved analytically and the solution is:
But when I tried to solve it with the classical Runge–Kutta method, the numerical solution blows up:
The step size used here is 0.001.
Why did this happen? If I've chosen an improper method, what's a suitable one?