Prior to attempting an analytical solution it is important to identify whether the equations to be solved are linear or not. If the equations are non-linear then it is generally impossible to directly solve them analytically - some additional approximations are required.
A non-linear differential equation is simply a differential equation where some non-linearity is applied to either the inputs or the outputs of the equation. There are two types of non-linearity which can be encountered: functional non-linearities; and combinational non-linearities.
These are the easiest to spot - if an non-linear function is applied to any of the inputs or outputs, then the differential equation is non-linear. Some examples to non-linear differential equations with functional non-linearities are given below. In all the examples 'y' is the output and 'u' is the input (both y and u are functions of time).
Combinational non-linearities are more difficult to spot and arise when two time-varying quantities are multiplied, or divided, together. These sort of non-linearities can arise, or disappear, depending on the assumptions made about the variables in an equation. For example, the equation below:
Is linear if either input 'u1' or 'u2' is assumed constant for the solution, but is non-linear if both are assumed to be variable. It is generally a good idea when solving things analytically to assume that everything is constant other than the things that you definitely know aren't!