Gauss-jordan elimination