# How to get the implicit solution of this PDE (Maple can but I don't manage with mathematica)?

$$\partial_t c=\partial_x((c-a)(c-b)\partial_xc)$$

And I was given the answer that Maple gives the following implicit form as a solution:

\eqalign{&{k_{{1}}}^{2}{k_{{2}}}^{2}{c}^{2} + \left( 2\,{k_{{1}}}^{4}k_{{2}}k_{{3 }}-2\,{k_{{1}}}^{2}{k_{{2}}}^{2}a-2\,{k_{{1}}}^{2}{k_{{2}}}^{2}b \right) c\cr &+ \left( 2\,{k_{{1}}}^{6}{k_{{3}}}^{2}-2\,a{k_{{1}}}^{4}k_{{ 2}}k_{{3}}-2\,b{k_{{1}}}^{4}k_{{2}}k_{{3}}+2\,ab{k_{{1}}}^{2}{k_{{2}}} ^{2} \right) \ln \left( -{k_{{1}}}^{2}k_{{3}}+ck_{{2}} \right)\cr & -2\,{k _{{2}}}^{4}t-2\,k_{{1}}{k_{{2}}}^{3}x-2\,{k_{{2}}}^{3}k_{{3}}-2\,k_{{4 }}{k_{{2}}}^{3} =0} But when I'm doing the DSolve on Mathematica (I don't have Maple) and I get no solution!

So my question is: can Mathematica give me that implicit solution?

Assuming[{Element[a, Reals], Element[b, Reals]},
DSolve[D[f[x, t], t] ==
D[(f[x, t] - a) (f[x, t] - b) D[f[x, t], x], x], f, {x, t}]]
--> DSolve[D[f[x, t], t] ==
D[(f[x, t] - a) (f[x, t] - b) D[f[x, t], x], x], f, {x, t}] (*meaning it just rewrites the equation with no solution*)

• "Can Maple do things that Mathematica cannot?" Independent of the other question, the answer is certainly "yes". And that's okay. – Henrik Schumacher Aug 7 '19 at 2:14
• Please, consider also sharing the Mathematica code that you used in copyable form, so that people can play with it. – Henrik Schumacher Aug 7 '19 at 2:17
• I just edited the text – J.A Aug 7 '19 at 7:15

So my question is: can Mathematica give me that implicit solution?

The answer to your question is no. Check again may be in version 13 it will. This is not linear. It is hard enough to solve linear PDE's analytically.

For completion, here is the complete Maple code to reproduce it from your Mathematica input, and verification in Maple.

ClearAll[f, x, t, a, b];
pde = D[f[x, t], t] == D[(f[x, t] - a) (f[x, t] - b) D[f[x, t], x], x]
DSolve[pde, f[x, t], {x, t}]


Maple:

restart;
with(MmaTranslator);
mma_input:=Derivative[0, 1][f][x, t] == (-a + f[x, t])*Derivative[1, 0][f][x, t]^2 + (-b + f[x, t])*Derivative[1, 0][f][x, t]^2 + (-a + f[x, t])*(-b + f[x, t])*Derivative[2, 0][f][x, t]:
pde:=FromMma(mma_input):   #translate the PDE from Mathematica to Maple syntax
sol:=pdsolve(pde,f(x,t)):  #solve the PDE


$$f \left( x,t \right) ={\it RootOf} \left( 2\,{{\it \_C1}}^{6}\ln \left( -{\it \_C3}\,{{\it \_C1}}^{2}+{\it \_C2}\,{\it \_Z} \right) {{ \it \_C3}}^{2}-2\,{{\it \_C1}}^{4}\ln \left( -{\it \_C3}\,{{\it \_C1} }^{2}+{\it \_C2}\,{\it \_Z} \right) a{\it \_C3}\,{\it \_C2}-2\,{{\it \_C1}}^{4}\ln \left( -{\it \_C3}\,{{\it \_C1}}^{2}+{\it \_C2}\,{\it \_Z} \right) b{\it \_C3}\,{\it \_C2}+2\,{{\it \_C1}}^{2}\ln \left( -{ \it \_C3}\,{{\it \_C1}}^{2}+{\it \_C2}\,{\it \_Z} \right) ab{{\it \_C2 }}^{2}+2\,{{\it \_C1}}^{4}{\it \_C2}\,{\it \_C3}\,{\it \_Z}+{{\it \_C1 }}^{2}{{\it \_C2}}^{2}{{\it \_Z}}^{2}-2\,{{\it \_C1}}^{2}{{\it \_C2}}^ {2}{\it \_Z}\,a-2\,{{\it \_C1}}^{2}{{\it \_C2}}^{2}{\it \_Z}\,b-2\,{ \it \_C1}\,{{\it \_C2}}^{3}x-2\,{{\it \_C2}}^{4}t-2\,{{\it \_C2}}^{3}{ \it \_C3}-2\,{\it \_C4}\,{{\it \_C2}}^{3} \right)$$

DEtools:-remove_RootOf(rhs(sol));  #to remove the RootOf in the solution


$$2\,{{\it \_C1}}^{6}\ln \left( -{\it \_C3}\,{{\it \_C1}}^{2}+{\it \_C2 }\,f \left( x,t \right) \right) {{\it \_C3}}^{2}-2\,{{\it \_C1}}^{4} \ln \left( -{\it \_C3}\,{{\it \_C1}}^{2}+{\it \_C2}\,f \left( x,t \right) \right) a{\it \_C3}\,{\it \_C2}-2\,{{\it \_C1}}^{4}\ln \left( -{\it \_C3}\,{{\it \_C1}}^{2}+{\it \_C2}\,f \left( x,t \right) \right) b{\it \_C3}\,{\it \_C2}+2\,{{\it \_C1}}^{2}\ln \left( -{\it \_C3}\,{{\it \_C1}}^{2}+{\it \_C2}\,f \left( x,t \right) \right) ab{{\it \_C2}}^{2}+2\,{{\it \_C1}}^{4}{\it \_C2}\,{ \it \_C3}\,f \left( x,t \right) +{{\it \_C1}}^{2}{{\it \_C2}}^{2} \left( f \left( x,t \right) \right) ^{2}-2\,{{\it \_C1}}^{2}{{\it \_C2}}^{2}f \left( x,t \right) a-2\,{{\it \_C1}}^{2}{{\it \_C2}}^{2}f \left( x,t \right) b-2\,{\it \_C1}\,{{\it \_C2}}^{3}x-2\,{{\it \_C2}} ^{4}t-2\,{{\it \_C2}}^{3}{\it \_C3}-2\,{\it \_C4}\,{{\it \_C2}}^{3}=0$$

Verify

   pdetest(sol,pde)
---->     0  OK