关于使用matlab解决拉格朗日乘数法相关代码所遇到的问题

小思考

代码如下:
syms p y z C x;
fx=xy^2z;
gx=x+y+z-C;
Lx=fx-p*gx;
d=[diff(Lx,x),diff(Lx,y),diff(Lx,z),diff(Lx,p)];

[x,y,z,p]=solve(d==0);

运行结果:
x =

C
0
C/4

y =

 0
 0

C^3/16

z =

0
C
C/2

p =

0
0
C/4

于草稿纸手算结果不一,具体为,x=C/4,y=C/2,z=C/4,p=C^3/16。

我想要达到的结果

x=C/4,y=C/2,z=C/4,p=C^3/16。
求解疑。