# Cannot Solve Simple PDE

I want to solve the partial differential equation $$uu_{xy} = u_xu_y$$. It is known that a solution is $$u(x,y) = f(x)g(y)$$ for all pairs of (differentiable) functions $$f$$ and $$g$$ of one variable (Strauss Section 1.1 Problem 11).

This is what Mathematica 12 gives, which I'm unsure is correct since DSolve, etc. are seemingly buggy:

DSolveValue[{u[x, y] D[u[x, y], x, y] == D[u[x, y], x] D[u[x, y], y]}, u[x, y], {x, y}]

NDSolveValue[{u[x, y] D[u[x, y], x, y] == D[u[x, y], x] D[u[x, y], y]}, u[x, y], {x, y}]

• Simple PDE This is not simple PDE. It is non-linear It requires finding first integral, then use that to convert the pde to set of ODE's. It is not always easy to find first integral of a PDE, in particular, a non-linear one. Of course the question is asking to verify, and not to solve it. Big difference,. it is very easy to verify. Just plugin the assumed solution into the PDE. Mathematica can do this very easily. btw, what you wrote in Latex and what you wrote in the Mathematica code is not the same thing. May 9, 2020 at 2:01
• @Nasser Sorry, fixed the question. I want to solve the PDE. May 9, 2020 at 2:19
• Please do not use the bugs tag when posting new questions. Do add it to others' questions if the issue has been verified to be a bug. See the tag description for details. May 9, 2020 at 7:54
• @Leponzo I disagree that this is a bug. To call it a bug, we would need to have a reasonable standard by which differential equations should be considered solvable. There is no such standard for any complex symbolic algebra task, neither for DE solving, nor for integration. See Marius's link on your answer for many examples which are solved by Maple but not Mathematica, and also the reverse (solved by Mathematica only). May 10, 2020 at 14:48
• You can call it a missing feature if you like. May 10, 2020 at 14:48

Your equation is missing a factor of u[x, y] on the LHS

eqn = u[x, y]*D[u[x, y], x, y] == D[u[x, y], x] D[u[x, y], y];


To verify that f[x]*g[y] is a solution to the equation use ReplaceAll

eqn /. u -> (f[#1] g[#2] &) // Simplify

(* True *)

• Sorry, fixed the question. I want to solve the PDE. May 9, 2020 at 2:18

Maple is able to solve it, so it seems to be a bug in Mathematica: