Ordinary differential equation solver