print "Wieferich primes less than 5000: " for i = 1 to 5000 if isWeiferich(i) then print i next i end function isPrime(n) if n < 2 then isPrime = 0 : goto [exit] if n = 2 then isPrime = 1 : goto [exit] if n mod 2 = 0 then isPrime = 0 : goto [exit] isPrime = 1 for i = 3 to int(n^.5) step 2 if n mod i = 0 then isPrime = 0 : goto [exit] next i [exit] end function function isWeiferich(p) if isPrime(p) = 0 then isWeiferich = 0 : goto [exit] q = 1 p2 = p^2 while p > 1 q = (2*q) mod p2 p = p - 1 wend if q = 1 then isWeiferich = 1 : goto [exit] else isWeiferich = 0 : goto [exit] end if [exit] end function