DSolve fails with four variables

How is that DSolve has no trouble solving this:

DSolve[{
D[G[x1,x2,x3],x1]==0,
D[G[x1,x2,x3],x2]==0,
D[G[x1,x2,x3],x3]==0
},G[x1,x2,x3],{x1,x2,x3}]


but it fails to evaluate when there is a fourth variable:

DSolve[{
D[G[x1,x2,x3,x4],x1]==0,
D[G[x1,x2,x3,x4],x2]==0,
D[G[x1,x2,x3,x4],x3]==0,
D[G[x1,x2,x3,x4],x4]==0
},G[x1,x2,x3,x4],{x1,x2,x3,x4}]


I am using Mathematica 11.3.0.0.

• Same problem with Version 12.0. DSolve[{D[G[x1, x2, x3, x4], x1] == 0, D[G[x1, x2, x3, x4], x2] == 0, D[G[x1, x2, x3, x4], x3] == 0}, G[x1, x2, x3, x4], {x1, x2, x3, x4}] returns a solution. So, the problem is with the number of equations, not of variables. DSolve cannot be expected to solver every system of PDEs, but this seems rather elementary. Also, DSolve[{D[G[x1, x2, x3, x4, x5], x1] == 0, D[G[x1, x2, x3, x4, x5], x2] == 0, D[G[x1, x2, x3, x4, x5], x3] == 0, D[G[x1, x2, x3, x4, x5], x4] == 0}, G[x1, x2, x3, x4, x5], {x1, x2, x3, x4, x5}] fails. A bug, perhaps? – bbgodfrey Jul 24 '19 at 3:54

In V12.2, DSolve now handles the 4-variable case.

DSolve[{D[G[x1, x2, x3, x4], x1] == 0, D[G[x1, x2, x3, x4], x2] == 0,
D[G[x1, x2, x3, x4], x3] == 0, D[G[x1, x2, x3, x4], x4] == 0},
G[x1, x2, x3, x4], {x1, x2, x3, x4}]

(*  {{G[x1, x2, x3, x4] -> C[1]}}  *)


It also handles a hundred, a thousand, or more:

nvars = 100;
vars = ToExpression@Array["x" <> ToString[#] &, nvars];
DSolve[Map[D[G @@ vars, #] == 0 &, vars], G @@ vars, vars]


For nvars = 1000, I raised $RecursionLimit = 10000 and $IterationLimit = 100000 and waited over 400 sec.