This question arised from Chini Equations.


DSolve[y'[x] == 5*y[x]^4 + 3*x^(-4/3), y[x], x]

Out: $\text{Solve}\left[-45 \text{RootSum}\left[-45 \text{$\#$1}^4+\sqrt[4]{3} 5^{3/4} \text{$\#$1}-45\&,\frac{\log \left(\sqrt[4]{\frac{5}{3}} \sqrt[4]{x^{4/3}} y(x)-\text{$\#$1}\right)}{\sqrt[4]{3} 5^{3/4}-180 \text{$\#$1}^3}\&\right]=c_1+\frac{3^{3/4} \sqrt[4]{5} x \log (x)}{\left(x^{4/3}\right)^{3/4}},y(x)\right]$

Grateful for help!


We can use implicit differentiation:

res = DSolve[y'[x] == 5*y[x]^4 + 3*x^(-4/3), y[x], x];
eqn = First[res];

Solve[D[eqn, x], y'[x]] // Simplify
{{y'[x] -> 3x^(-4/3) + (-1/(3x) - 1/(3x^(4/3)^(3/4)))y[x] + 5y[x]^4}}

The answer seems to not quite work since -1/(3x) - 1/(3x^(4/3)^(3/4)) is never zero. Looks like a branch cut issue.

Consider using this solution instead:

eqn = RootSum[9 + #1 + 15#1^4 &, 
  Log[-#1 + x^(1/3)y[x]]/(1 + 60#1^3) &] == Log[x^(1/3)] + C[1];

Solve[D[eqn, x], y'[x]] // Simplify
{{y'[x] -> 3x^(-4/3) + 5y[x]^4}}
| improve this answer | |
  • $\begingroup$ To be frank, in order to practice using Wolfram Language, I'm writing some code that automatically verify (prefer symbolic to numeric) the solution of DSolve. But now for this question, I can't even see how you got RootSum[9 + #1 + 15#1^4 &, Log[-#1 + x^(1/3)y[x]]/(1 + 60#1^3) &] == Log[x^(1/3)] + C[1], although your answer is very close to what I want. So please show me the code that do the transformation automatically, thanks! $\endgroup$ – ooo Jan 25 '18 at 8:39
  • $\begingroup$ I just slightly tweaked the output of the step-by-step solution on Wolfram|Alpha: wolframalpha.com/input/?i=y%27%5Bx%5D+%3D%3D+5*y%5Bx%5D%5E4+%2B+3*x%5E(-4%2F3) $\endgroup$ – Chip Hurst Jan 25 '18 at 17:44
  • $\begingroup$ @ooo You can use the Mathematica WolframAlpha[“y’[x] == 5*y[x]^4 + 3*x^(-4/3)”] to see all the steps. I then evaluated the final integral in its indefinite form and simplified slightly. If you have issues, let me know. $\endgroup$ – Chip Hurst Jan 26 '18 at 4:33
  • $\begingroup$ @ooo but I will say the method I posted in my answer is a way to verify an implicit solution to an ode. I think in this case the solution provided by Dsolve is slightly wrong. $\endgroup$ – Chip Hurst Jan 26 '18 at 4:35
  • $\begingroup$ Step-by-step solution gives the answer: $\int_1^{\sqrt[3]{x}y(x)} \frac3{15 u^4+u+9} \, du = \log(x)+c_1$ 1. Why the definite form can't be calculated efficiently whereas the indefinite form can be? 2. Can you write code that automates all of these things (extraction and transformation)? — this is the ultimate goal of the post too. ;) $\endgroup$ – ooo Jan 26 '18 at 12:05

here is a first stab at looking at this numerically:

sol = DSolve[y'[x] == 5*y[x]^4 + 3*x^(-4/3), y[x], x]

find the C[1] constant for some particular initial condition:

c = Solve[sol[[1]] /. {y[x] -> 0, x -> 1}, C[1]][[1, 1]]

then use findroot to generate solution:

ysol[xarg_] := 
 Chop[z /. FindRoot[sol[[1]] /. c /. {y[x] -> z, x -> xarg} , {z, 0}]]

compare with numerical solution to the original equation:

nsol[xarg_] = 
       NDSolveValue[{y'[x] == 5*y[x]^4 + 3*x^(-4/3), y[1] == 0}, 
         y[x], {x, .8, 1.4}] /. x -> xarg

Plot[{ysol[xx], nsol[xx]}, {xx, .8, 1.4}]

enter image description here

not exactly the same but I expect if you play around with precision they will converge. Note both solutions become unstable outside the range shown.

| improve this answer | |

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.