with(LinearAlgebra):A:=<<-1,1,-1,0>|<-3,1,0,0>|<-1,2,1,1>|<0,1,0,0>|<0,0,-1,0>|<0,0,0,-1>|<M,0,1,0>|<M,0,0,1>|<0,4,4,3>>;#Step one: Row reduce to get rid of M in first row.
A1:=RowOperation(A,[1,3],-M):
A2:=RowOperation(A1,[1,4],-M);# Pivot in Column 3, Row 2 (counting first row as Row 1)A3:=RowOperation(A2,2,1/2):
A4:=RowOperation(A3,[1,2],1+2*M):
A5:=RowOperation(A4,[3,2],-1):
A6:=RowOperation(A5,[4,2],-1);# Pivot in Column 2, Row 2
A7:=RowOperation(A6,2,2):
A8:=RowOperation(A7,[1,2],5/2-M):
A9:=RowOperation(A8,[3,2],1/2):
A10:=RowOperation(A9,[4,2],1/2);# Pivot in Column 3, Row 2 again?A11:=RowOperation(A10,2,1/2):
A12:=RowOperation(A11,[1,2],-5+2*M):
A13:=RowOperation(A12,[3,2],-1):
A14:=RowOperation(A13,[4,2],-1);# We've seen this array before!