Digits := 55;
words(100000000):
H := proc(n)
option remember;
if n<2 then n else H(n-1)+1.0/n fi
end:

H2 := proc(n)
option remember;
if n<2 then n else H2(n-1)+1.0/n^2 fi
end:

#	Cn for 3 dimensions (k=3)
#	Cn := proc(n)
#	local i,j,k;
#	option remember;
#	if n<2 then n else
#		1 + 8 * sum(' k/n * Pr(k,n) * Cn(k) ', k=1..n-1 ) fi
#	end:
#	
#	Pr := proc(k,n)
#	local i;
#	option remember;
#	sum( '(H(i+1)-H(k)) / (i+1)', i=k..n-1 ) / n;
#	end:

nCn := proc(n) option remember;
if n < 1 then 0 else nCn(n-1) + n*Cn(n) fi end:

nHnCn := proc(n) option remember;
if n < 1 then 0 else nHnCn(n-1) + n*H(n)*Cn(n) fi end:

nH2nCn := proc(n) option remember;
if n < 1 then 0 else nH2nCn(n-1) + n*H2(n)*Cn(n) fi end:

nHnHnCn := proc(n) option remember;
if n < 1 then 0 else nHnHnCn(n-1) + n*H(n)*H(n)*Cn(n) fi end:

Cn := proc(n)
option remember;
if n<2 then n
elif n=2 then 3/2
else
    1 + 4 * (nCn(n-1)*H(n)^2 - 2*nHnCn(n-1)*H(n) + nHnHnCn(n-1) +
	H2(n)*nCn(n-1) - nH2nCn(n-1) ) / n^2 ;
  fi
end:

gc(100000);
with(numtheory):
CN(5) = Cn(5);
CN(10) = Cn(10);
for i from 50 by 50 to 10000 do
    CN(i) = Cn(i);
    # Const(i) = Cn(i) - H(i)*(2/3+2/21/i)+19/49/i;

b0 = -1/84*(25820*i+588*Cn(i-1)*i**7+3528*i**3*H(i)-23580*i**2+8820*
Cn(i-2)*i**6-882*Cn(i-2)*i**7+8820*Cn(i-1)*i**5+63504*Cn(i-3)*i-3528*Cn(i-1)*i
**2+5824*H(i)*i+8820*Cn(i-1)*i**3+5880*i**3-11760*Cn(i-1)*i**4+72030*Cn(i-4)*i
**4+62328*Cn(i-2)*i**2+79674*Cn(i-2)*i**4-97020*Cn(i-2)*i**3-36456*Cn(i-2)*i**5
-16464*Cn(i-2)*i-144648*Cn(i-4)*i**3-56448*Cn(i-4)*i+145824*Cn(i-4)*i**2-19257*
Cn(i-4)*i**5+588*Cn(i-3)*i**7+2646*Cn(i-4)*i**6-147*Cn(i-4)*i**7-8232*Cn(i-3)*i
**6+47040*Cn(i-3)*i**5-147*Cn(i)*i**7-9352*H(i)*i**2-3528*Cn(i-1)*i**6-5824+588
*Cn(i-1)*i+227556*Cn(i-3)*i**3-139944*Cn(i-3)*i**4-190512*Cn(i-3)*i**2+294*Cn(i
)*i**6-147*Cn(i)*i**5)/i/(i-1)/(63*i-104), 'i'=i;
    od;
done
