separable differential equations solver