Download or view diophantinePrimesGradient.frink in plain text format
/** This tries to do a gradient search to find a prime number solution of the
equation found in diophantinePrimes.frink .
*/
use diophantinePrimes.frink
var prime
var largest = -10^1000.
var vbest
var p
initialize[] :=
{
array = new array[26]
for i = 0 to 25
array@i = floor[abs[random[10000,30000]]]
return array
}
arr = initialize[]
do
{
max = -1.0e1000
idx = random[0, 25]
val = arr@idx
for v = max[val-1, 0] to val+1
{
arr@idx = v
p = prime[arr]
// println[char[char["a"] + idx] + "=$v, p=$p"]
if p > max
{
vbest = v
max = p
}
}
arr@idx = vbest
prime = max
//println["prime = $prime\n"]
if prime > largest
{
largest = prime
println["largest is $largest"]
for i = 0 to 25
{
println[char[char["a"] + i] + " = " + arr@i]
}
}
} until prime > 0
println[prime]
if isPrime[prime]
println["Verified."]
else
{
println["ERROR: "]
println[factor[prime]]
}
Download or view diophantinePrimesGradient.frink in plain text format
This is a program written in the programming language Frink.
For more information, view the Frink
Documentation or see More Sample Frink Programs.
Alan Eliasen, eliasen@mindspring.com