Solving differential equations analytically