function x = gaussnaive(A,b)

% GAUSSNAIVE: x = gaussnaive(A,b):
%   Gauss elimination without pivoting.
% input:
%   A = coefficient matrix
%   b = right hand side vector
% output:
%   x = solution vector

[m,n] = size(A);

if m~=n,
   error('Matrix A must be square');
end

% Form augmented matrix equations

nb  = n+1;
Aug = [A b];

% Forward elimination

for k = 1:n-1

  % Eliminate lower diagonal terms from k-th column....

  for i = k+1:n
    factor = Aug(i,k)/Aug(k,k);
    Aug(i,k:nb) = Aug(i,k:nb)-factor*Aug(k,k:nb);
  end

  % Display augmented matrix after i-th row operation....

  fprintf('Augmented Matrix: Column %2d\n', k );
  disp(Aug);
end

% Back substitution

x = zeros(n,1);
x(n) = Aug(n,nb)/Aug(n,n);
for i = n-1:-1:1
  x(i) = (Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);
end
