the substitution method
The substitution method is the general art behind v = y/x and v = y^(1-n): when an equation is hard in its current variables, introduce a new variable that captures the combination the equation really cares about, and the equation often transforms into one of the standard solvable types — separable or linear. It is less a single formula and more a strategy you apply by recognizing structure.
The mechanics are always the same three moves. First, choose a substitution u = g(x, y) suggested by the shape of the equation — often the repeated chunk inside it. Second, differentiate to express the old derivative dy/dx in terms of the new variable and du/dx, and substitute everything in; done well, the original variable's awkward dependence cancels out. Third, solve the simpler transformed equation, then reverse the substitution to recover y. The whole payoff hinges on choosing u so the messy combination becomes a single clean symbol.
Common patterns worth memorizing: an equation depending on y/x calls for v = y/x; an equation of the form dy/dx = f(ax + by + c) calls for u = ax + by + c, which always turns it separable; a Bernoulli equation calls for v = y^(1-n). The honest caveat is that there is no algorithm that finds the right substitution in general — it is pattern recognition, and the supply of equations you can crack this way is a small, curated list, which is precisely why numerical methods exist for the rest.
Solve dy/dx = (x + y + 1)^2. The right side depends only on u = x + y + 1, so substitute it: du/dx = 1 + dy/dx = 1 + u^2. That is separable: du/(1 + u^2) = dx, so arctan(u) = x + C, giving x + y + 1 = tan(x + C), hence y = tan(x + C) - x - 1.
Name the repeated chunk u = x + y + 1 and a separable equation appears.
There is no universal substitution; the method works only because a handful of recognizable forms have known tricks. If no standard pattern fits, substitution will usually not help, and that is normal — most equations have no elementary solution at all.