# How to solve that equation with DSolve?(nonlinear differential equation)

I'm trying to solve the equation $2(y')^3 - 3(y')^2 +x = y$. I need an analytical solution. And that one is easy to solve on paper. I got answer $y=1/\sqrt{3} \cdot 2/3 \sqrt{(x+C_1)^3} + C_2$.

However in Mathematica

DSolve[2 (y'[x])^3 - 3 (y'[x])^2 + x == y[x], y[x], x]


seems to take forever to evaluate.

I was trying to change variables, like t=y-x or q=y', but with no luck.

How can I get that answer from Mathematica?

• Since it's a cubic equation in the highest-order derivative, DSolve will end up solve three ODES, which you can infer from Solve[2 (y'[x])^3 - 3 (y'[x])^2 + x == y[x], y'[x]]. None of them look like they'd be easy to solve. If you were lucky, it quit right away instead of chewing on it for a long time. But who knows, it might finish. – Michael E2 May 19 '18 at 0:36
• If you use withTimedIntegrate from this answer, you'll get a partial result in terms of implicit equations involving unevaluated integral: withTimedIntegrate[DSolve[2 (y'[x])^3 - 3 (y'[x])^2 + x == y[x], y[x], x], 1] – Michael E2 May 19 '18 at 0:43

Differentiate the equation to get solutions at once.

equ = x - 3 Derivative[y][x]^2 + 2 Derivative[y][x]^3 == y[x];

dequ = D[equ, x]

(*   1 - 6 Derivative[y][x] (y'')[x] +
6 Derivative[y][x]^2 (y'')[x] ==
Derivative[y][x]   *)

dsol = DSolve[dequ, y, x]

(*   {{y -> Function[{x}, x + C]},
{y -> Function[{x}, -((2 (x + 6 C)^(3/2))/(3 Sqrt)) + C]},
{y ->Function[{x}, (2 (x + 6 C)^(3/2))/(3 Sqrt) + C]}}   *)


Get conditions for the C[i]

{equ /. dsol[], Solve[equ /. dsol[], C]}

(*   {-1 + x == x + C,
{{C -> -1}}}   *)


Even simple y[x] = x - 1 is a solution.

{equ /. dsol[], Solve[equ /. dsol[], C]}

(*   {-6 C - (2 (x + 6 C)^(3/2))/(
3 Sqrt) == -((2 (x + 6 C)^(3/2))/(3 Sqrt)) + C,
{{C -> -(C/6)}}}   *)


And the solution you mentioned.

{equ /. dsol[], Solve[equ /. dsol[], C]}

(*   {-6 C + (2 (x + 6 C)^(3/2))/(3 Sqrt) == (
2 (x + 6 C)^(3/2))/(3 Sqrt) + C,
{{C -> -(C/6)}}}   *)