Theory of Differential Equations