(1) a+b>rad(ab(a+b))
where rad is the radical, the product of all unique prime factors of a number. I.e. rad(4)=2, rad(6)=6, rad(60)=30, rad(81)=3, rad(101)=101, ...
There is an infinite number of pairs (a,b) as (1), but given a real number epsilon>0 there seems to be only a finite number of abc-triplets (a,b,a+b) such that
(2) a+b>rad(ab(a+b))^(1+epsilon)
and that's one version of the famous abc-conjecture.
: abcpair \ a b -- flag
locals| b a |
a b ugcd 1 =
a b +
dup a ugcd 1 =
swap b ugcd 1 =
and and ;
test if (a,b,a+b) is a abc-triplet, and
: unusual \ a b -- flag
: unusual \ a b -- flag
locals| b a |
a b 2dup + * * radical
a b + < ;
test if a+b>rad(ab(a+b)).
1 1000 condition non create-set zdup cardinality . 999 ok
creates the set {1,...,999}.
zdup cartprod zdup cardinality . 998001 ok
create the Cartesian product {1,...,999}x{1,...,999} and
2dim < filter-set zdup cardinality . 498501 ok
filter the set so that the first component is less than the second.
2dim abcpair filter-set zdup cardinality . 303791 ok
This skip all (a,b) but those where (a,b,a+b) is a abc-triplet.
2dim unusual filter-set zdup cardinality . 32 ok
This is the remaining set of pairs such that (1):
zdup cr zet.
{(1,8),(1,48),(1,63),(1,80),(1,224),(1,242),(1,288),(1,512),(1,624),(1,675),(1,728),(1,960),(2,243),(3,125),(4,121),(5,27),(5,507),(7,243),(13,243),(25,704),(27,512),(32,49),(32,343),(49,576),(81,175),(81,544),(100,243),(104,625),(169,343),(200,529),(343,625),(640,729)} ok
Considering the pairs as Gaussian integers and transform the set of unusual pairs to their Gaussian norms give:
zdup 2dim gnorm transform-set zdup cardinality . cr zet. 32
{65,754,2305,3425,3970,6401,14657,15634,37186,50177,58565,59053,59098,59218,69049,82945,118673,146210,257074,262145,262873,302497,319841,334177,389377,401441,455626,496241,508274,529985,921601,941041} ok
Since the both sets have 32 elements I hasten to raise the conjecture:
(3) All (ordered) unusual pairs has unique Gaussian norms.
To test the conjecture for different limits without stack overflow, conj3 works:
2dup abcpair 0=
if 2drop false
else unusual
then ;
true locals| flag |
0 >zst \ empty set on zst stack
2
?do i 1
?do i j abcunusual
if i j gnorm dup zdup smember
if false to flag drop i j pad 2! leave
else >zst zfence union
then
then
loop flag 0= if leave then
loop flag ;
100 conj3 . -1 ok
zet. {65,754,2305,3425,3970,6401} ok
5000 conj3 . -1 ok
zdup cardinality . 87 ok
cr zet.
{65,754,2305,3425,3970,6401,14657,15634,37186,50177,58565,59053,59098,59218,69049,82945,118673,146210,257074,262145,262873,302497,319841,334177,389377,401441,455626,496241,508274,529985,921601,941041,1048577,1048601,1242793,1476226,1569061,1750393,1837097,2566561,2944705,3067769,3317074,4093154,4101154,4194385,4213625,4484017,4584929,4735097,4783069,4798594,4916545,5303810,5592434,5646001,5760001,5774602,5831545,8977273,8998393,9144577,9439993,9765746,9976306,10185529,11944561,12379505,13302409,13986466,14548594,15108770,15745025,15784466,15818497,15944098,16769026,16777337,16778441,17155426,18548777,19131877,23070401,23660897,23819585,24153953,33667138} ok
True so far. This take some time but I try 10000:
10000 conj3 . -1 ok
zdup cardinality . 129 ok
cr zet.
{65,754,2305,3425,3970,6401,14657,15634,37186,50177,58565,59053,59098,59218,69049,82945,118673,146210,257074,262145,262873,302497,319841,334177,389377,401441,455626,496241,508274,529985,921601,941041,1048577,1048601,1242793,1476226,1569061,1750393,1837097,2566561,2944705,3067769,3317074,4093154,4101154,4194385,4213625,4484017,4584929,4735097,4783069,4798594,4916545,5303810,5592434,5646001,5760001,5774602,5831545,8977273,8998393,9144577,9439993,9765746,9976306,10185529,11944561,12379505,13302409,13986466,14548594,15108770,15745025,15784466,15818497,15944098,16769026,16777337,16778441,17155426,18548777,19131877,23070401,23660897,23819585,24153953,26040898,31640674,31706945,32283521,33667138,34000562,37515986,37520281,38950162,39052481,39421505,40947202,40985921,43033601,43050817,43445377,44289026,44446210,47045882,47046137,47048690,56811506,64000361,64235537,65713618,66928882,66961570,68374489,68508353,70761674,73260281,73530626,85470281,87890626,88510465,93655426,94008377,96040001,96060226,118771553,123820633,140639489,141533305} ok
(To be continued)