# DSolve does not return solution to simple system of second order PDEs

I'm trying to solve a simple system of second order PDEs with Mathematica 11.1. Here is the system:

DSolve[{
D[f[x, y, z], x, y] == 0,
D[f[x, y, z], x, z] == 0,
D[f[x, y, z], y, z] == 0
}, f[x, y, z], {x, y, z}]


Mathematica returns it unevaluated... I expect the solution to be

f[x,y,z] -> C[x] + C[y] + C[z]


Any idea what I can try?

Thanks!

Update:

We can differentiate a third time:

DSolve[{D[f[x, y, z], x, y, z] == 0}, f[x, y, z], {x, y, z}]


and then Mathematica gives the following answer:

f[x, y, z] -> C[y, z] + C[x, z] + C[x, y]


Maybe this can be somehow combined with the answer by bbgodfrey to give the correct answer for the system above?

• Trying to solve the simpler DSolve[{D[f[x, y, z], x, y] == 0, D[f[x, y, z], x, z] == 0}, f[x, y, z], {x, y, z}] leaks an internal error and returns a manifestly wrong answer, {{f[x, y, z] -> C[y, z] + Inactive[Integrate][C[K], {K, 1, x}]}}. – bbgodfrey Sep 19 '20 at 13:48
• This nonstandard system is not so simple since Maple produces a non-optimal answer $$f \left( x,y,z \right) ={\it _F6} \left( x \right) +{\it _F5} \left( z \right) +{\it _F4} \left( y \right) +{\it _F3} \left( z \right).$$ – user64494 Sep 19 '20 at 14:20

## 2 Answers

The comment by user64494 suggested to me the following

sxy = Flatten@DSolve[{D[f[x, y, z], x, y] == 0}, f[x, y, z], {x, y, z}] /.
C[n_][z][v_] -> d[n][v, z];
sxz = Flatten@DSolve[{D[d[x, z], x, z] == 0}, d[x, z], {x, z}] /. C -> c;
syz = Flatten@DSolve[{D[d[y, z], y, z] == 0}, d[y, z], {y, z}] /. C -> b;
sxy /. sxz /. syz
(* {f[x, y, z] -> b[y] + b[z] + c[x] + c[z]} *)


Not at all satisfying but perhaps useful in some circumstances.

First we solve the system:

s = Flatten @@
DSolve[{D[f[x, y, z], x, y, z] == 0}, f[x, y, z], {x, y, z}] /.
C[n_][a_, b_] -> d[n][a, b]


getting:

{f[x, y, z] -> d[y, z] + d[x, z] + d[x, y]}


Then we solve the original system equation for equation:

sxyz = Join[
Flatten @@
DSolve[D[d[y, z] + d[x, z] + d[x, y], x, y] == 0,
d[x, y], {x, y}] /. C[n_][a_] -> f1[n][a],
Flatten @@
DSolve[D[d[y, z] + d[x, z] + d[x, y], x, z] == 0,
d[x, z], {x, z}] /. C[n_][a_] -> f2[n][a],
Flatten @@
DSolve[D[d[y, z] + d[x, z] + d[x, y], y, z] == 0,
d[y, z], {y, z}] /. C[n_][a_] -> f3[n][a]
]


getting:

{d[x, y] -> f1[x] + f1[y],
d[x, z] -> f2[x] + f2[z],
d[y, z] -> f3[y] + f3[z]}


The final solution comes then from:

(s /. sxyz) //. f_[n_][a_] + g_[m_][a_] -> F[n][m][a]


as:

{f[x, y, z] -> F[x] + F[y] + F[z]}