Question: How to solve complicated system of equations

F := [x1/(1+t^2)+x2, -(x1+x2)*(1+1/(1+t^2)), -x3];
rho1 := [diff(F[1],x1),diff(F[2],x1),diff(F[3],x1)];
rho2 := [diff(F[1],x2),diff(F[2],x2),diff(F[3],x2)];
rho3 := [diff(F[1],x3),diff(F[2],x3),diff(F[3],x3)];
theta := Matrix([[rho2, -rho1, 0],[rho3, 0, -rho1],[0, rho3, -rho2]]);
with(LinearAlgebra):
with(linalg):

evalm(theta&*Matrix([[M1],[M2],[M3]]));

Find M1 M2 M3

Answer is
M1 = [-1, -1, 0]
M2 = [1, 0, 0]
M3 = [0, 0, -1]

but when i use the following method to solve, can not get correct answer as above

findM1 := evalm(Matrix([[theta[1,1][1], theta[1,2][1], theta[1,3][1]],[theta[2,1][1],theta[2,2][1],theta[2,3][1]],[theta[3,1][1],theta[3,2][1],theta[3,3][1]]])&*Matrix([[M1],[M2],[M3]]));
solve({findM1[1,1]=0, findM1[2,1]=0, findM1[3,1]=0}, {M1, M2, M3});

findM2 := evalm(Matrix([[theta[1,1][2], theta[1,2][2], theta[1,3][2]],[theta[2,1][2],theta[2,2][2],theta[2,3][2]],[theta[3,1][2],theta[3,2][2],theta[3,3][2]]])&*Matrix([[M1],[M2],[M3]]));
solve({findM2[1,1]=0, findM2[2,1]=0, findM2[3,1]=0}, {M1, M2, M3});

findM3 := evalm(Matrix([[theta[1,1][3], theta[1,2][3], theta[1,3][3]],[theta[2,1][3],theta[2,2][3],theta[2,3][3]],[theta[3,1][3],theta[3,2][3],theta[3,3][3]]])&*Matrix([[M1],[M2],[M3]]));
solve({findM3[1,1]=0, findM3[2,1]=0, findM3[3,1]=0}, {M1, M2, M3});

Please Wait...