function BDF(n)
% Solves the ivp y'= -y - 1/(1+x)^2 + 1/(1+x), y(0)=1 
% by the three-step method BDF method
% Y_{n+1} - (18/11)Y_n + (9/11) Y_{n-1} -(2/11) Y_{n-2} =  (6h/11) Y_{n+1}'
% 
%
fprintf('\n')
%
for iit=1:10
%
nn=2^(iit-1)*n;
uu(iit)=1/nn;
%
h=1./nn;
%
%
y0=1.;
y1=1./(1.0+h);
y2=1./(1.0+2.d0*h);
%
for i=4:nn+1
t=(i-1)*h;
t1=(i-2)*h;
t2=(i-3)*h;
t3=(i-4)*h;
ex=(1/(1+t));
m= - 1/(1+t)^2 + 1/(1+t);
y3=(   (18/11)*y2-(9/11)*y1+(2/11)*y0+(6*h/11)*m  )/(1+(6*h/11));
er(i)=abs(ex-y3);
y0=y1;
y1=y2;
y2=y3;
end
u1(iit)=max(er);
fprintf('h =%12.6f        maxerr = %15.6e\n',h,u1(iit))
end
fprintf('\n')
for iit=1:9
      p=log(u1(iit)/u1(iit+1))/log(2.);
      fprintf('h =%12.6f        rate %15.6e\n',uu(iit),p)
end
loglog(uu,u1,'b+')
xlabel('h');ylabel('Error');
