Discover an identity using lattice basis reduction
Find integers a and b such that a*Zeta(50)+b*Pi^50 = 0 using lattice basis reduction .
First try using quadruple precision.
> readlib(lattice):
> Digits := 32;
> a1 := Zeta(50.);
> a2 := evalf(Pi^50);
> LB := [[1,0,round(a1*10^(Digits-2))],[0,1,round(a2*10^(Digits-2))]];
> reduced_LB := lattice(LB);
> a := reduced_LB[1][1];
> b := reduced_LB[1][2];
Now redo the problem using 80 digit precision to see the correct answer.
> Digits := 80;
> a1 := Zeta(50.);
> a2 := evalf(Pi^50);
> LB := [[1,0,round(a1*10^(Digits-2))],[0,1,round(a2*10^(Digits-2))]];
> reduced_LB := lattice(LB);
> a := reduced_LB[1][1];
> b := reduced_LB[1][2];
Check by using higher precision, also by using .
> Digits := 2*Digits;
> almost_zero_2 := a*Zeta(50.)+b*evalf(Pi^50);
> z50 := expand(Zeta(50));
> z50r := op(1,z50);
> zero_2 := z50r+b/a;