x,y,z=var('x,y,z')
A=matrix(QQ,[[2,3,1],[4,7,5],[0,-2,2]])
print A
print
b = vector([8,20,0])
C = A.augment(b.transpose())
print C
print
C.swap_rows(1,0)
print C
print
C.add_multiple_of_row(1, 0,-1/2)
#C.add_multiple_of_row(1, 2, -2)

print C
print

#C.add_multiple_of_row(0, 2, -3)
C.add_multiple_of_row(2, 1, -4)

print C
print
z = C[2,3]
y = C[1,3] - C[1,2]*z
x = C[0,3] - C[0,2]*z - C[0,1]*y
print "x=",x,"y=",y,"z=",z