{VERSION 3 0 "IBM INTEL NT" "3.0" }
{USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 
1 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 0 12 0 0 
128 1 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Tex
t Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 
1 3 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }}
{SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "# floyd_cy.ms\n" }
{TEXT -1 723 "##   Is 2^p-1 prime for infinitely many p?   ##\n#     I
s 2^(2^n)+1 prime for some n > 4?      #\n#                           \+
                  #\n#          John B. Cosgrave,                  #\n
#          Department of Mathematics,         #\n#          St. Patric
k's College,             #\n#          Drumcondra,                    \+
    #\n#          Dublin 9,                          #\n#          IRE
LAND.                           #\n#                                  \+
           #\n#     Home e-mail: johnbcos@iol.ie            #\n#  Coll
ege e-mail: John.Cosgrave@spd.ie       #\n#                           \+
                  #\n# 2^sqrt(2) is transcendental. Pi(x)~x/ln(x). #  \+
\n## .12345678910111213 ... is normal. Is Pi?  ##\n\n" }}}{EXCHG 
{PARA 0 "" 0 "" {TEXT -1 90 "This worksheet is about the Pollard-rho f
actoring method, using the Floyd cycle algorithm." }}{PARA 0 "" 0 "" 
{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 45 "'n' is known to be compos
ite because of ... ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "
" {TEXT -1 23 "What one wants is this:" }}{PARA 0 "" 0 "" {TEXT -1 0 "
" }}{PARA 0 "" 0 "" {TEXT -1 98 "a[1], a[2], a[3], a[4], ... defined b
y Pollard suggestion, and one then wants to form the numbers:" }}
{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 43 "         \+
              gcd(n, a[2] - a[1])," }}{PARA 0 "" 0 "" {TEXT -1 43 "   \+
                    gcd(n, a[4] - a[2])," }}{PARA 0 "" 0 "" {TEXT -1 
53 "                       gcd(n, a[6] - a[3]),      etc." }}{PARA 0 "
" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 46 "One wants to get a
n output NOT equal to 1 ... " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 
0 "" 0 "" {TEXT -1 34 "This was the example I began with:" }}{PARA 0 "
> " 0 "" {MPLTEXT 1 0 10 "a[1] := 2:" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 28 "a[2] := a[1]^2 + 1 mod 1037:" }}}{EXCHG {PARA 0 "> " 
0 "" {MPLTEXT 1 0 55 "for k from 2 while igcd(1037, a[2*k-2] - a[k-1])
 = 1 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "a[k] := a[k-1]^2 + 1 mod
 1037;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "a[2*k] := (a[2*k-2]^2 + 1
 mod 1037)^2 + 1 mod 1037;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }
}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "seq(igcd(a[2*K] - a[K], 10
37), K=1..k-1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "a[1] := 2:" }}}{EXCHG {PARA 
0 "> " 0 "" {MPLTEXT 1 0 28 "a[2] := a[1]^2 + 1 mod 1037:" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "for k from 2 while igcd(1037, a[2*k
-2] - a[k-1]) = 1 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "a[k] := a[k
-1]^2 + 1 mod 1037;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "a[2*k] := (a
[2*k-2]^2 + 1 mod 1037)^2 + 1 mod 1037;" }}{PARA 0 "> " 0 "" {MPLTEXT 
1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "igcd(a[2*k-2]
 - a[k-1], 1037);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "standard_Pollard_Floyd := pr
oc(n)  # using Pollard's (x^2 + 1) as default function" }}{PARA 0 "> \+
" 0 "" {MPLTEXT 1 0 11 "local a, k;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 
10 "a[1] := 2:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "a[2] := a[1]^2 + \+
1 mod n:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "for k from 2 while igcd
(n, a[2*k-2] - a[k-1]) = 1 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "a[
k] := a[k-1]^2 + 1 mod n;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "a[2*k]
 := (a[2*k-2]^2 + 1 mod n)^2 + 1 mod n;" }}{PARA 0 "> " 0 "" {MPLTEXT 
1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "igcd(a[2*k-2] - a[k-1
], n);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}{PARA 2 "" 1 "" 
{TEXT -1 1 "\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "standard_
Pollard_Floyd(91);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "stand
ard_Pollard_Floyd(2^32 - 1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 
0 33 "standard_Pollard_Floyd(2^32 + 1);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "gen_P_F
 := proc(n, f, seed)           # general Pollard-Floyd" }}{PARA 0 "> \+
" 0 "" {MPLTEXT 1 0 11 "local a, k;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 
13 "a[1] := seed:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "a[2] := f(a[1]
) mod n:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "for k from 2 while igcd
(n, a[2*k-2] - a[k-1]) = 1 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "a[
k] := f(a[k-1]) mod n;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "a[2*k] :=
 f(f(a[2*k-2])) mod n;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}
{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "if igcd(a[2*k-2] - a[k-1], n) < n t
hen" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "lprint(igcd(a[2*k-2] - a[k-1
], n), `is a proper factor of `, n) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 
0 48 "else lprint(`Try some other seed or function.`) " }}{PARA 0 "> \+
" 0 "" {MPLTEXT 1 0 3 "fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" 
}}{PARA 2 "" 1 "" {TEXT -1 1 "\n" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "gen_P_F
(1037, x -> x^2 - 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 
"gen_P_F(1037, x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 27 "gen_P_F(1037, x -> x^2, 2);" }}}{EXCHG {PARA 0 "> " 
0 "" {MPLTEXT 1 0 31 "gen_P_F(1037, x -> x^2 + 2, 2);" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "gen_P_F(1037, x -> x^2 + 3, 2);" }}
}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "gen_P_F(1037, x -> x^3 + 1,
 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "gen_P_F(1037, x -> \+
x^3 + 2, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "gen_P_F(2^32 + 1, x -> x^2 + 1 mod \+
(2^32 + 1), 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "gen_P_F(
2^64 + 1, x -> x^2 + 1 mod (2^64 + 1), 2);" }}}{EXCHG {PARA 0 "> " 0 "
" {MPLTEXT 1 0 56 "gen_P_F(2^128 + 1, x -> x&^1024 + 1 mod (2^128 + 1)
, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "# gen_P_F(2^128 + \+
1, x -> x&^1024 + 1 mod (2^128 + 1), 3);" }}{PARA 2 "" 1 "" {TEXT -1 
1 "\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "Abandoned after 10 hours
." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 98 "Now \+
to have a look at numbers that are like Fermat numbers [but which beha
ve quite differently!!]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "gen_P_F
(2^16 + 2^8 + 1, x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 42 "gen_P_F(2^32 + 2^16 + 1, x -> x^2 + 1, 2);" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "
" {MPLTEXT 1 0 42 "gen_P_F(2^64 + 2^32 + 1, x -> x^2 + 1, 2);" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "gen_P_F((2^64 + 2^32 + 1)/3,
 x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "gen_P
_F((2^64 + 2^32 + 1)/(3*7), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 
0 "" {MPLTEXT 1 0 53 "gen_P_F((2^64 + 2^32 + 1)/(3*7*97), x -> x^2 + 1
, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "gen_P_F((2^64 + 2^
32 + 1)/(3*7*97*13), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 13 "isprime(673);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 
1 0 60 "gen_P_F((2^64 + 2^32 + 1)/(3*7*97*13*673), x -> x^2 + 1, 2);" 
}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "isprime(241);" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "gen_P_F((2^64 + 2^32 + 1)/(3*7*97*1
3*673*241), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 
0 68 "gen_P_F((2^64 + 2^32 + 1)/(3*7*97*13*673*241*193), x -> x^2 + 1,
 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "(2^64 + 2^32 + 1)/(
3*7*97*13*673*241*193);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "
isprime(22253377);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "2^64 \+
+ 2^32 + 1;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG 
{PARA 0 "" 0 "" {TEXT -1 84 "Thus the prime factorisation of (2^64 + 2
^32 + 1) is 3*7*13*97*241*193*673*22253377." }}{PARA 0 "> " 0 "" 
{MPLTEXT 1 0 25 "ifactor(2^64 + 2^32 + 1);" }}}{EXCHG {PARA 0 "> " 0 "
" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "Let us now \+
attempt to factor the number:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "2^
128 + 2^64 + 1;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "gen_P_F(
2^128 + 2^64 + 1, x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 47 "gen_P_F((2^128 + 2^64 + 1)/3, x -> x^2 + 1, 2);" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "gen_P_F((2^128 + 2^64 + 1)/(
3*7), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "
gen_P_F((2^128 + 2^64 + 1)/(3*7*97), x -> x^2 + 1, 2);" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "gen_P_F((2^128 + 2^64 + 1)/(3*7*97*
13), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "g
en_P_F((2^128 + 2^64 + 1)/(3*7*97*13*673), x -> x^2 + 1, 2);" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "gen_P_F((2^128 + 2^64 + 1)/(
3*7*97*13*673*241), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 69 "gen_P_F((2^128 + 2^64 + 1)/(3*7*97*13*673*241*193), x
 -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "isprime
((2^128 + 2^64 + 1)/(3*7*97*13*673*241*193*22253377));" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "(2^128 + 2^64 + 1)/(3*7*97*13*673*2
41*193*22253377);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}
{EXCHG {PARA 0 "" 0 "" {TEXT -1 100 "And so note that while the factor
isation of (2^128 + 1) caused a real problem, the factorisation of " }
}{PARA 0 "" 0 "" {TEXT -1 128 "(2^128 + 2^64 + 1) was straightforward.
  [There are - of course - other things to be noted (and explained): 3
, 7, 97, 13, ... ] " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "
" {TEXT -1 40 "Let us now attempt to factor the number:" }}{PARA 0 "> \+
" 0 "" {MPLTEXT 1 0 18 "2^256 + 2^128 + 1;" }}}{EXCHG {PARA 0 "> " 0 "
" {MPLTEXT 1 0 44 "gen_P_F(2^256 + 2^128 + 1, x -> x^2 + 1, 2);" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "gen_P_F((2^256 + 2^128 + 1)/
3, x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "gen
_P_F((2^256 + 2^128 + 1)/(3*7), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "
> " 0 "" {MPLTEXT 1 0 55 "gen_P_F((2^256 + 2^128 + 1)/(3*7*97), x -> x
^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "gen_P_F((2^2
56 + 2^128 + 1)/(3*7*97*13), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> \+
" 0 "" {MPLTEXT 1 0 62 "gen_P_F((2^256 + 2^128 + 1)/(3*7*97*13*673), x
 -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "gen_P_F
((2^256 + 2^128 + 1)/(3*7*97*13*673*241), x -> x^2 + 1, 2);" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "gen_P_F((2^256 + 2^128 + 1)/
(3*7*97*13*673*241*769), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "
" {MPLTEXT 1 0 90 "# gen_P_F((2^256 + 2^128 + 1)/(3*7*97*13*673*241*76
9*193), x -> x^2 + 1, 2);  STOPPED ... " }}{PARA 2 "" 1 "" {TEXT -1 1 
"\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "ifactor((2^256 + 2^1
28 + 1)/(3*7*97*13*673*241*769*193), easy);" }}}{EXCHG {PARA 0 "> " 0 
"" {MPLTEXT 1 0 24 "factor(x^32 + x^16 + 1);" }}}{EXCHG {PARA 0 "> " 
0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "  (2^256
 + 2^128 + 1) factors (algebraically) as:" }}{PARA 0 "" 0 "" {TEXT -1 
0 "" }}{PARA 0 "" 0 "" {TEXT -1 78 "  (2^2 - 2 + 1)*(2^2 + 2 + 1)*(2^4
 - 2^2 + 1)*(2^8 - 2^4 + 1)*(2^16 - 2^8 + 1)" }}{PARA 0 "" 0 "" {TEXT 
-1 56 "*(2^32 - 2^16 + 1)*(2^64 - 2^32 + 1)*(2^128 - 2^64 + 1)." }}
{PARA 0 "> " 0 "" {MPLTEXT 1 0 81 "(2^2 - 2 + 1); (2^2 + 2 + 1); (2^4 \+
- 2^2 + 1); (2^8 - 2^4 + 1); (2^16 - 2^8 + 1);" }}}{EXCHG {PARA 0 "> \+
" 0 "" {MPLTEXT 1 0 30 "(2^256 + 2^128 + 1) mod 65281;" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "ifactor(65281);" }}}{EXCHG {PARA 0 
"> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 39 "The
 '769' and '193' divide other terms:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" 
}}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "(2^128 - 2^64 + 1) mod 769; " }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "
" {MPLTEXT 1 0 27 "(2^32 - 2^16 + 1) mod 193; " }}}{EXCHG {PARA 0 "> \+
" 0 "" {MPLTEXT 1 0 42 "gen_P_F(2^64 + 2^16 + 1, x -> x^2 + 1, 2);" }}
}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "gen_P_F((2^64 + 2^16 + 1)/3
, x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "ispr
ime(5669);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "gen_P_F((2^64
 + 2^16 + 1)/(3*5669), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 15 "isprime(17207);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "gen_P_F
((2^128 + 2^32 + 1), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" 
{MPLTEXT 1 0 47 "gen_P_F((2^128 + 2^32 + 1)/3, x -> x^2 + 1, 2);" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "gen_P_F((2^128 + 2^32 + 1)/(
3*3), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "
gen_P_F((2^128 + 2^32 + 1)/(3*3*3), x -> x^2 + 1, 2);" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "gen_P_F((2^128 + 2^32 + 1)/(3*3*3*3
), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "NICE!!!" }
}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " isprime(80271439);" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "gen_P_F((2^128 + 2^32 + 1)/(3*3*3*3
*80271439), x -> x^2 + 1, 2);" }}{PARA 2 "" 1 "" {TEXT -1 1 "\n" }}}
{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "isprime((2^128 + 2^32 + 1)/(
3*3*3*3*80271439));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "ifac
tor((2^128 + 2^32 + 1)/(3*3*3*3*80271439), easy);" }}}{EXCHG {PARA 0 "
> " 0 "" {MPLTEXT 1 0 64 "gen_P_F((2^128 + 2^32 + 1)/(3*3*3*3*80271439
), x -> x^2 + 1, 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "isp
rime((2^128 + 2^32 + 1)/(3*3*3*3*80271439*995910073));" }}}{EXCHG 
{PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " " }}}}{MARK "99" 0 }{VIEWOPTS 1 1 
0 1 1 1803 }

