Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For some non-linear ODEs there is only implicit form of solution using DSolve. For example

DSolve[(y[x] + x - 1)*y'[x] - y[x] + 2 x + 3 == 0, y[x], x]

gives implicit solution

Solve[2/3 (Sqrt[2]ArcTan[(-2 + (2 (2 + 3 x))/(-1 + x + y[x]))/(2 Sqrt[2])]-Log[((-1 + x +y[x])^2 (3 + ((2 + 3 x) (-2 + (2 + 3 x)/(-1 + x +y[x])))/(-1 + x + y[x])))/(2 + 3 x)^2]) == C[1] + 4/3 Log[2 + 3 x], y[x]]

I'm solving a non-linear second-order ODE that has 4 explicit solutions. The formulas for these solutions are gigantic so I would like to see it in the implicit form because I hope it might be simpler.

Is there a way how to show the implicit form of solution of ODE even though the equation has the explicit solution?

(Just to be specific - the equation I'm solving reads

DSolve[(1 + G (A + y[x])^3) y''[x] + 3*G (A + y[x])^2 (y'[x])^2 + R == 0, y[x], x]

where $A,G,R \in \mathbb{R}$.)

Thank you for any kind of help.

share|improve this question
up vote 3 down vote accepted

I did not see there is an easy way to do it within DSolve. But for ODEs which could be integrated directly, using Integrate would be a possible choice to get the implicit solution. For the problem mentioned, it could be integrated directly by

  Integrate[ (1 + G (A + y[x])^3) y''[x] + 3G (A + y[x])^2 (y'[x])^2 + R, x] 
  - C[1], x] - C[2] == 0
(R x^2)/2 - x C[1] - C[2] + y[x] + A^3 G y[x] + 3/2 A^2 G y[x]^2 
 + A G y[x]^3 + 1/4 G y[x]^4 == 0

Here C[1] and C[2] are integration constants.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.