function [sol,its]=newton2(fcn,Jac,v0,tol)

x0=v0(1); y0=v0(2); 

f=feval(fcn,v0);
f1=f(1); 
f2=f(2); 

J=feval(Jac,v0); 
f1x=J(1,1); 
f1y=J(1,2); 
f2x=J(2,1);
f2y=J(2,2); 

h=(-f1*f2y + f2*f1y)/(f1x*f2y - f1y*f2x); 
k=(f1*f2x - f2*f1x)/(f1x*f2y - f1y*f2x);

x1=x0+h; y1=y0+k; 
v1=[x1; y1]; 

its=1; 

while abs(x1-x0)>tol | abs(y1-y0)>tol
    v0=v1; 
    x0=v0(1); y0=v0(2); 
    f=feval(fcn,v0);
    f1=f(1); f2=f(2); 
    J=feval(Jac,v0); 
    f1x=J(1,1); f1y=J(1,2);f2x=J(2,1);f2y=J(2,2); 
    
    h=(-f1*f2y + f2*f1y)/(f1x*f2y - f1y*f2x); 
    k=(f1*f2x - f2*f1x)/(f1x*f2y - f1y*f2x);
    v1=[x0+h; y0+k];
    its=its+1;
end

sol=v1; 
its=its;

