0

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?

corey979
  • 23,947
  • 7
  • 58
  • 101
Temp
  • 1
  • 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 00: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 00:43

1 Answers1

1

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)}}}   *)
Akku14
  • 17,287
  • 14
  • 32