A=[3 -0.1 -0.2; 0.1 7 -0.3; 0.3 -0.2 10]; B=[7.85 -19.3 71.4]'; n=length(B) %initial guess x=[10 10 10]'; tolerance=1e-5; err=1; while (err>tolerance) for ii=1:n summ=0; for jj=1:n if (jj==ii) %do nothing else summ=summ+A(ii,jj)*x(jj); end end newx(ii)=(1/A(ii,ii))*(B(ii)-summ); errr(ii)=abs((newx(ii)-x(ii))/newx(ii))*100; end x=newx; err=max(errr); end x