function X=resolvetta(a,b)
n=length(a);
m=length(b);
if m~=n
input('Las dimensiones de la matriz y el vector no coinciden. ERROR CRITICO.')
else
end
[L,U,P]=lu(a);% Nos da la descomposicion de la matriz a
b=P*transpose(b);% columnizamos el vector b
Y=zeros(n,1);% Alocamos espacio para el vector respuesta del sistema LY=LUx=Pb
% Resolvemos el sistema LY=b
Y(1)=b(1);
for i=2:n
    Y(i)=b(i)-L(i,1:i-1)*Y(1:i-1);
end
% Resolvemos ahora el sistema UX=Y, donde X sera el vector respuesta final
X(n,1)=Y(n,1)/U(n,n);
for i=(n-1):-1:1 % Hay que decirle que el indice baje en lugar de subir
    X(i,1)=(Y(i,1)- U(i,n:-1:1)*X(n:-1:1,1))/U(i,i);
    % Resolvemos con la matriz U tomando que i=n-1 en el primer paso
end
