0
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ 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. $\endgroup$ – Michael E2 May 19 '18 at 0:36
  • $\begingroup$ 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] $\endgroup$ – Michael E2 May 19 '18 at 0:43
1
$\begingroup$

Differentiate the equation to get solutions at once.

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

dequ = D[equ, x]

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

dsol = DSolve[dequ, y, x]

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

Get conditions for the C[i]

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

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

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

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

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

And the solution you mentioned.

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

(*   {-6 C[1] + (2 (x + 6 C[1])^(3/2))/(3 Sqrt[3]) == (
       2 (x + 6 C[1])^(3/2))/(3 Sqrt[3]) + C[2], 
     {{C[1] -> -(C[2]/6)}}}   *)
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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