abc-table.tex
abc-table.dvi



\begin{displaymath}\begin{array}{llllll}
a & b & c & c & \!\!\!\mbox{\rm cond}(...
... 2^{6}\cdot5^{2}& 41^{2}& 1681& 1230& 1.0439\\
\par\end{array}\end{displaymath}


\begin{displaymath}\begin{array}{llllll}
a & b & c & c & \!\!\!\mbox{\rm cond}(...
...99\\
2^{7}& 17^{3}& 71^{2}& 5041& 2414& 1.0945\\
\end{array}\end{displaymath}


\begin{displaymath}\begin{array}{llllll}
a & b & c & c & \!\!\!\mbox{\rm cond}(...
...cdot17^{2}&2^{4}\cdot5^{4}& 10000& 6630&
1.0467\\
\end{array}\end{displaymath}

The table was created using the following simple Magma program.

// abc.m

intrinsic Radical(N::RngIntElt) -> RngIntElt
{Returns the product of the primes dividing N.}
   if N eq 0 then
      return 0 ;
   end if;
   return &*[x[1] : x in Factorization(N)];
end intrinsic;

function abc_help(c)
   ans := [];
   for a in [1..Integers()!Round(c/2)+1] do
      b := c - a;
      if Gcd([a,b,c]) eq 1 and 
            c ge Radical(a*b*c) then
         Append(~ans, [a,b]);
      end if;
   end for;
   return ans;
end function;

intrinsic abc(start::RngIntElt, stop::RngIntElt) -> SeqEnum
{Returns the solutions a+b = c with a<b, gcd([a,b,c])=1, 
 and Radical(a*b*c) <= c.}
   return &cat[abc_help(c) : c in [start..stop]];
end intrinsic;   

intrinsic abc_embelish(abclist::SeqEnum) -> SeqEnum
{Given the output of abc, add in the additional 
 information of c, rad(a*b*c), and log(c)/log(rad(a*b*c)).}
   return 
   [<s[1], s[2], s[1]+s[2], Radical(s[1]*s[2]*(s[1]+s[2])),
        Log(s[1]+s[2]) / Log(Radical(s[1]*s[2]*(s[1]+s[2])))> : s in abclist];
end intrinsic;


 

William A. Stein
1999-09-10