subroutine coeff (t,n,poly,b,c) integer maxcor, maxcr2, maxcr4, maxcr5, maxcr6, maxcr7, maxcr8 c parameter (maxcor=2, maxcr2=maxcor*maxcor, maxcr4=maxcr2*maxcr2, c 1 maxcr5=maxcr2*(maxcr2+1)/2, maxcr6=maxcor*2, maxcr7=maxcr6+1, c 2 maxcr8=maxcr6*maxcr7+1) parameter (maxcor=2, maxcr2=4, maxcr4=16, 1 maxcr5=10, maxcr6=4, maxcr7=5, 2 maxcr8=21) double precision b(*), c(*) double precision poly(maxcr7), d(maxcr6), e(maxcr6), a(maxcr6), t nm1=n-1 np1=n+1 c initialize a,d do 10 i=1,n d(i)=0.0d0 poly(i)=0.0d0 10 a(i)=0.0d0 c special case: n=1 if (n.ne.1) go to 20 poly(1)=1.0d0 return c initialize d for loop 20 d(1)=a(1)-b(1) do 50 i=1,nm1 c move d to a & a to e do 30 j=1,n e(j)=a(j) 30 a(j)=d(j) c calculate new d d(1)=a(1)-b(i+1) d(2)=a(2)-b(i+1)*a(1)-c(i) if (n.eq.2) go to 60 if (i.eq.1) go to 50 ip1=i+1 do 40 j=3,ip1 40 d(j)=a(j)-b(i+1)*a(j-1)-c(i)*e(j-2) 50 continue c fill in polynomial coefficients in reverse order 60 do 70 i=1,n 70 poly(i)=d(n-i+1) poly(n+1)=1.0d0 return end