function [x,j]=Steep(A,b,x0)
% Máxima pendiente para resolver Ax=b
%
 if nargin<3, x0=zeros(length(b),1); end
 j=0; x=x0; r=b-A*x; d=r'*r; tol=sqrt(eps)*norm(b);
 while sqrt(d)>tol
    j=j+1;
    v=A*r;
    alpha=d/(r'*v);
    x=x+alpha*r;
    r=r-alpha*v;    
    d=r'*r; 
 end
end