# Verifying the absence of triple solutions to a^x +/- b^y = c # Nov 3, 2003 # # This program finds all cases (excluding some infinite families) of two solutions to $\pm a^x \pm b^y = c$ that could potentially have a third solution, using the bounds found in Theorems 2 and 3 of the paper "On $\pm a^x \pm b^y = c$ not having three solutions." # # Note that the notations here do not correspond to those in the paper "On $\pm a^x \pm b^y = c$ not having three solutions." # # In the finding_i_t procedure: t corresponds to t in Thm 3, and i corresponds to x_2 - x_1 in Thm 3. # # In the finding_j_s procedure, the lines temp1=1 and temp2=1 correspond in Thm 3 to b^(T-t) \pm 1 = r = (a^(x_2-x_1) \pm 1)/b^t which is equivalent to b^T = \pm a^{x_1} \pm b^t + a^{x_2}. The j corresponds to x_1, the i corresponds to x_2 - x_1, t corresponds to t, and s corresponds to T-t. # # In the finding_n procedure, the several choices of a correspond to k-2 in Lemma 5. Then n+2 corresponds to r+z+j+k in Lemma 5, which gives the upper bound on x_2 in Thm 3. Note that in the procedure finding_j_z, we use N = n+1-i for the upper bound on x_1, and so this means n is an upper bound on x_1 and n+1 is an upper bound on x_2, so n+2 is strictly bigger than x_2, which corresponds to the bound r+z+j+k in Lemma 5. # # In the finding_w0 procedure, either w0 = 0 when j=0 in Lemma 3, or the w0 equals the j in Lemma 3 when 2^g = b+1, and the w0 is greater or equal to the j in Lemma 3 if 2^g strictly divides b \pm 1 in any case. (We improved the proofs and changed the notation in the paper after writing the Maple program.) # # In the finding_u0_L_z0 procedure, the v0 corresponds to the n0 of Lemma 3, and the capital L corresponds to the small l in the Lemma. The u0 corresponds to the r in Lemma 3. The alpha and beta and z correspond to the alpha_i, beta_i, and z_i in Lemma 3, respectively. The z0 corresponds to the z in Lemma 3. # We have cut and paste the results here: the order is a,b, then the two exponents for a, then the two exponents for b, and finally the c which is preceded by a zero if the lower set of exponents uses the plus sign . Note we have a>2, but if both a and b are odd, our program finds the same result with a and b reversed, so there are 20 results listed, but only 17 distinct pairs of equations, and only 11 distinct sets {a,b,c}. 3, 2, 1, 2, 2, 3, -1 3, 2, 2, 3, 2, 5, 5 3, 2, 1, 2, 1, 3, 1 3, 2, 2, 3, 1, 4, 0, 11 3, 2, 1, 3, 1, 5, 0, 5 3, 2, 1, 3, 3, 5, -5 3, 2, 1, 3, 3, 4, 0, 11 3, 2, 2, 5, 2, 8, 0, 13 3, 2, 1, 5, 4, 8, -13 3, 5, 1, 3, 1, 2, -2 3, 13, 1, 7, 1, 3, -10 5, 2, 1, 2, 1, 5, 0, 7 5, 2, 1, 3, 1, 7, 3 5, 2, 1, 3, 3, 7, -3 5, 3, 1, 2, 1, 3, 2 5, 279, 1, 7, 1, 2, 0, 284 11, 2, 1, 2, 2, 7, 7 13, 3, 1, 3, 1, 7, 10 91, 2, 1, 2, 1, 13, 89 279, 5, 1, 2, 1, 7, 0, 284 # > > restart; > with(numtheory); Warning, the protected name order has been redefined and unprotected [GIgcd, bigomega, cfrac, cfracpol, cyclotomic, divisors, factorEQ, factorset, fermat, imagunit, index, integral_basis, invcfrac, invphi, issqrfree, jacobi, kronecker, lambda, legendre, mcombine, mersenne, migcdex, minkowski, mipolys, mlog, mobius, mroot, msqrt, nearestp, nthconver, nthdenom, nthnumer, nthpow, order, pdexpand, phi, pi, pprimroot, primroot, quadres, rootsunity, safeprime, sigma, sq2factor, sum2sqr, tau, thue] > finding_u0_L_z0 := proc(a,b) > local ord, v0, pmone, u0, L, z0, temp, pset, N, i, j, p, alpha, beta, z; > ord := order(b,a); > v0 := ord; > pmone := -1; > if ord mod 2 = 0 then > if ((b&^(ord/2) mod a) + 1) mod a = 0 then > v0:= ord/2; > pmone := +1; > fi; > fi; > for u0 from 1 while (( b&^v0) mod (a^u0) +pmone) mod (a^u0) = 0 > do od; > u0 := u0-1; > L := ((b&^v0) mod (2*a) +pmone) mod(2*a); > pset := factorset( igcd(a,L) ); > z0 := 0; > if igcd(a,L) > 1 then > N := nops(pset); > for i from 1 to N do > p := pset[i]; > for j from 0 while a mod p^j = 0 do od; > alpha := j-1; > for j from 0 while ((b&^v0 mod p^j) +pmone) mod p^j = 0 do od; > beta := j-1; > z := ceil(beta/alpha); > z0 := max(z,z0); > od; > fi; > [u0, L, z0]; > end: > finding_w0 := proc(a, b, u0, z0, L) > local w0; > w0 := 0; > if (a-2) mod 4 = 0 and u0 = 1 and L mod 2 <> 0 then > w0 := ceil( log( (b+1)/2^(z0+1))/log(a)) ; > fi; > w0; > end: > finding_n := proc(a,b) > local temp, u0, L, z0, w0, n; > temp:= finding_u0_L_z0(a,b); > u0 := temp[1]; > L := temp[2]; > z0 := temp[3]; > w0 := finding_w0(a,b,u0, z0,L); > if a>126 then n := u0+z0+w0; else > if a=3 then n := u0+z0+w0+6; fi; > if a=5 then n := u0+z0+w0+4; fi; > if a=6 or a=7 then n := u0+z0+w0+3; fi; > if 9 if 21 fi; > n; > end: > finding_j_s := proc(a,i, pmone, b, t, n) > local j, k, s, r, N, temp1, temp2; > if t>0 then > N := n+1-i; > r := (a^i+pmone)/b^t; > for j from 1 to N do > temp1 := a^j*r + 1; > for k from 0 while temp1 mod b = 0 do temp1 := temp1/b; od; > if temp1 = 1 then > s := k; > if i<>j or s<>t then > if pmone = -1 then > print(a,b,j,i+j,t, s+t, a^j - b^t); > else print(a,b,j,i+j,t, s+t, 0, a^j+b^t); > fi; > fi; > fi; > temp2 := a^j*r - 1; > for k from 0 while temp2 mod b = 0 > do temp2 := temp2/b; od; > if temp2 = 1 then > s := k; > if i<>j or s<>t then > if pmone = +1 then > print(a,b,j,i+j,t, s+t, a^j - b^t); > else print(a,b,j,i+j,t, s+t, 0, a^j+b^t); > fi; > fi; > fi; > od; > fi; > end: > finding_i_t := proc(a,b,n) > local temp1, temp2, pmone, i, k, t; > for i from 1 to n do > temp1 := a^i+1; > pmone := +1; > for k from 0 while temp1 mod b = 0 do temp1 := temp1/b; od; > t := k; > if t > 0 then finding_j_s(a,i, pmone, b, t, n); fi; > temp2 := a^i-1; > pmone := -1; > for k from 0 while temp2 mod b = 0 do temp2 := temp2/b; od; > t := k; > if t > 0 then finding_j_s(a,i, pmone, b, t, n); fi; > od; > end: > mainbody:= proc(a,b) > local n; > if igcd(a,b) = 1 then > if iperfpow(a) = FAIL then > if iperfpow(b) = FAIL then > n := finding_n(a,b); > finding_i_t(a,b,n); > fi; > fi; > fi; > end: # > > # Begin actual computations. > for a from 3 to 24332 do > for b from 2 to 24332 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a); fi; > od; 3, 2, 1, 2, 2, 3, -1 3, 2, 2, 3, 2, 5, 5 3, 2, 1, 2, 1, 3, 1 3, 2, 2, 3, 1, 4, 0, 11 3, 2, 1, 3, 1, 5, 0, 5 3, 2, 1, 3, 3, 5, -5 3, 2, 1, 3, 3, 4, 0, 11 3, 2, 2, 5, 2, 8, 0, 13 3, 2, 1, 5, 4, 8, -13 3, 5, 1, 3, 1, 2, -2 3, 13, 1, 7, 1, 3, -10 5, 2, 1, 2, 1, 5, 0, 7 5, 2, 1, 3, 1, 7, 3 5, 2, 1, 3, 3, 7, -3 5, 3, 1, 2, 1, 3, 2 5, 279, 1, 7, 1, 2, 0, 284 11, 2, 1, 2, 2, 7, 7 13, 3, 1, 3, 1, 7, 10 91, 2, 1, 2, 1, 13, 89 100 200 279, 5, 1, 2, 1, 7, 0, 284 300 400 500 600 700 800 Warning, computation interrupted > a;b; 874 363 # Checking b=2 only > for a from 3 to 24333 do > for b from 2 to 2 do > mainbody(a,b); > od; > if a mod 2000 = 0 then print(a); fi; > od; 3, 2, 1, 2, 2, 3, -1 3, 2, 2, 3, 2, 5, 5 3, 2, 1, 2, 1, 3, 1 3, 2, 2, 3, 1, 4, 0 3, 2, 1, 3, 1, 5, 0 3, 2, 1, 3, 3, 5, -5 3, 2, 1, 3, 3, 4, 0 3, 2, 2, 5, 2, 8, 0 3, 2, 1, 5, 4, 8, -13 5, 2, 1, 2, 1, 5, 0 5, 2, 1, 3, 1, 7, 3 5, 2, 1, 3, 3, 7, -3 11, 2, 1, 2, 2, 7, 7 91, 2, 1, 2, 1, 13, 89 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 24000 # We reworked our proof to allow us to sieve only half as many cases, i.e., only those with b > a. We will begin at a=400, since we have done farther than this bound already. # Note that the memory allocation of Maple is not optimal for numerical calculations, so the time it takes for a series of runs depends on how many previous runs one has done. We will show the time on some runs to illustrate this dependency on the length of a previous run. Breaks in the calculation indicate that we closed Maple and restarted it to clear the memory allocations. # So our new module: > tim:= time(): > for a from 400 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 400, 1.578 500, 7824.184 600, 16988.483 700, 27715.107 800, 37269.832 900, 50372.878 1000, 62633.811 1100, 81289.776 1200, 94735.705 Warning, computation interrupted > a;b; 1231 22746 > tim:= time(): > for a from 1231 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 1300, 4970.174 1400, 15491.633 1500, 26330.991 Warning, computation interrupted > a;b; 1544 21949 > tim:= time(): > for a from 1544 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 1600, 3623.801 1700, 14617.075 1800, 25116.276 Warning, computation interrupted > a;b; 1875 16319 > tim:= time(): > for a from 1875 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 1900, 1254.609 2000, 11496.776 2100, 21660.336 Warning, computation interrupted > a;b; 2195 5598 > tim:= time(): > for a from 2195 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 2200, 146.453 2300, 8696.130 2400, 18350.474 2500, 29144.745 2600, 40256.548 2700, 52386.076 2800, 64990.075 2900, 74250.081 Warning, computation interrupted > a;b; 2937 5686 > tim:= time(): > for a from 2937 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 3000, 4089.636 3100, 13941.406 3200, 23602.029 3300, 33659.493 3400, 43780.225 Warning, computation interrupted > a;b; 3495 14761 > for a from 3060 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 3060 3080 3100 3120 3140 3160 3180 3200 3220 3240 3260 3280 3300 3320 3340 3360 3380 3400 3420 3440 3460 3480 3500 3520 3540 3560 3580 3600 3620 3640 3660 3680 Warning, computation interrupted > a;b; 3699 19021 > for a from 3699 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 3700 3720 3740 3760 3780 3800 3820 3840 3860 3880 3900 3920 3940 3960 3980 4000 4020 4040 4060 4080 4100 4120 4140 4160 4180 4200 4220 4240 Warning, computation interrupted > a;b; 4253 15944 > for a from 4253 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 4260 4280 4300 4320 4340 4360 4380 4400 4420 4440 4460 4480 4500 4520 4540 4560 4580 4600 Warning, computation interrupted > a;b; 4619 18888 > tim:= time(): > for a from 4619 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 4700, 5344.092 4800, 13689.022 4900, 22533.060 5000, 31389.309 5100, 38699.480 Warning, computation interrupted > a;b; 5178 12589 > > for a from 5040 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 5040 5060 5080 5100 5120 5140 5160 5180 5200 5220 5240 5260 5280 5300 5320 5340 5360 5380 5400 5420 Warning, computation interrupted > a;b; 5431 18148 > for a from 5431 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 5440 5460 5480 5500 5520 5540 5560 5580 5600 5620 5640 5660 5680 5700 5720 5740 5760 5780 5800 5820 5840 5860 Warning, computation interrupted > a;b; 5867 19299 > for a from 5867 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 5880 5900 5920 5940 5960 5980 6000 6020 6040 6060 6080 6100 6120 6140 6160 6180 6200 6220 6240 6260 Warning, computation interrupted > a;b; 6265 15682 > for a from 6265 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 6280 6300 6320 6340 6360 6380 6400 6420 6440 6460 6480 6500 6520 6540 6560 6580 6600 6620 6640 6660 6680 6700 6720 6740 6760 6780 6800 6820 6840 6860 6880 6900 6920 6940 6960 6980 7000 7020 7040 7060 7080 7100 7120 7140 7160 7180 Warning, computation interrupted > a;b; 7183 14324 > for a from 7183 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 7200 7220 7240 7260 7280 7300 7320 7340 7360 7380 7400 7420 7440 7460 7480 7500 7520 7540 7560 7580 7600 Warning, computation interrupted > a;b; 7604 15051 > for a from 7604 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 7620 7640 7660 7680 7700 7720 7740 7760 7780 7800 7820 7840 7860 7880 7900 7920 7940 7960 7980 8000 8020 Warning, computation interrupted > a;b; 8035 22249 > for a from 8035 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a); fi; > od; 8040 8060 8080 8100 8120 8140 8160 8180 8200 8220 8240 8260 8280 8300 8320 8340 8360 8380 8400 8420 8440 8460 8480 8500 8520 Warning, computation interrupted > a;b; 8533 9992 > tim:= time(): > for a from 8533 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 8540, 202.579 8560, 709.313 8580, 955.359 8600, 1210.782 8620, 1376.769 8640, 1580.296 8660, 1714.546 8680, 1882.626 8700, 2205.422 8720, 2575.469 8740, 2670.328 8760, 2932.642 8780, 3129.237 8800, 3082.533 8820, 3349.141 8840, 3626.923 8860, 4067.467 8880, 4201.624 8900, 4482.532 8920, 4953.935 8940, 5175.315 8960, 5239.562 8980, 5351.970 9000, 5358.594 9020, 5926.986 9040, 5394.266 9060, 6077.282 9080, 6429.127 9100, 6713.656 9120, 7296.503 9140, 7169.215 9160, 7633.692 9180, 7899.139 9200, 8623.888 9220, 7899.373 9240, 8375.972 9260, 9541.674 9280, 8638.622 9300, 9647.596 9320, 9700.673 9340, 9806.877 9360, 9851.639 9380, 10861.390 9400, 10559.142 9420, 9830.297 9440, 10772.499 9460, 11103.999 9480, 10898.624 9500, 11158.987 9520, 11602.829 9540, 11985.344 9560, 11994.296 9580, 12057.015 9600, 13156.857 Warning, computation interrupted > a;b; 9614 23927 > tim:= time(): > for a from 9614 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 9620, 139.421 9640, 613.659 9660, 840.168 9680, 1049.487 9700, 1209.515 9720, 1467.562 9740, 1628.717 9760, 1639.003 9780, 1947.499 9800, 2196.558 9820, 2211.109 9840, 2520.533 9860, 2693.956 9880, 2816.940 9900, 3036.969 9920, 3349.248 9940, 3396.671 9960, 3812.860 9980, 3832.888 10000, 3984.734 10020, 4386.674 10040, 4554.640 10060, 4657.362 10080, 4586.608 Warning, computation interrupted > a;b; 10084 21249 > tim:= time(): > for a from 10084 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 10100, 456.811 10120, 711.909 10140, 903.064 10160, 1094.575 10180, 1190.314 10200, 1410.672 10220, 1436.219 10240, 1654.624 10260, 1873.286 10280, 2175.267 10300, 2298.611 10320, 2544.938 10340, 2709.298 10360, 2553.779 10380, 3136.377 10400, 3168.440 10420, 3264.191 10440, 3651.127 10460, 3854.955 10480, 3886.045 10500, 4151.280 10520, 4772.562 10540, 4671.607 10560, 4844.080 Warning, computation interrupted > a;b; 10565 16552 > tim:= time(): > for a from 10565 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 10580, 419.515 10600, 662.763 10620, 768.231 10640, 1009.243 10660, 1111.689 10680, 1301.284 10700, 1442.015 10720, 1648.925 10740, 1780.983 10760, 2033.201 10780, 2046.075 10800, 2345.344 10820, 2485.794 10840, 2600.516 10860, 2629.487 10880, 2879.390 10900, 2991.137 10920, 3280.528 10940, 3579.971 10960, 3778.967 10980, 3825.236 11000, 4076.343 11020, 4190.844 11040, 4171.017 11060, 4677.267 Warning, computation interrupted > a;b; 11067 13346 > tim:= time(): > for a from 11067 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 11080, 333.951 11100, 643.237 11120, 791.267 11140, 930.500 11160, 1070.640 11180, 1325.609 11200, 1406.752 11220, 1505.751 11240, 1693.452 11260, 1886.613 11280, 1915.655 11300, 2230.841 11320, 2341.752 11340, 2389.080 11360, 2616.456 11380, 2653.610 11400, 2818.109 11420, 3138.858 11440, 3163.424 11460, 3142.297 11480, 3730.345 11500, 3644.737 11520, 4037.876 11540, 4083.249 11560, 4235.832 11580, 4573.033 11600, 4601.921 11620, 4670.033 11640, 4737.280 11660, 4977.031 11680, 4920.718 11700, 5105.513 11720, 5668.889 11740, 5674.172 11760, 5774.766 11780, 6051.983 11800, 5792.327 11820, 6512.420 11840, 6590.497 11860, 6694.957 11880, 6862.347 11900, 6727.015 11920, 7314.266 11940, 7311.378 11960, 7579.985 11980, 7822.672 12000, 8065.108 12020, 8458.311 12040, 8380.034 12060, 8501.408 12080, 8569.768 12100, 8528.077 12120, 8603.093 12140, 9925.018 12160, 8528.094 12180, 8757.670 12200, 9413.046 12220, 9105.469 12240, 8963.671 12260, 10670.533 12280, 9559.094 Warning, computation interrupted > a;b; 12297 15779 > tim:= time(): > for a from 12297 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 12300, 69.188 12320, 517.044 12340, 599.108 12360, 758.217 12380, 852.421 12400, 985.141 12420, 1112.750 12440, 1346.095 12460, 1373.731 12480, 1469.154 12500, 1607.077 12520, 1738.843 12540, 1864.251 12560, 2071.391 12580, 2120.718 12600, 2222.921 12620, 2494.001 12640, 2347.484 12660, 2423.857 12680, 2772.313 12700, 2916.813 12720, 3049.171 12740, 3317.202 12760, 3226.249 12780, 3231.315 12800, 3666.142 12820, 3582.296 12840, 3899.659 12860, 4283.577 12880, 4530.096 12900, 4189.080 12920, 4101.718 Warning, computation interrupted > a;b; 12929 14180 > tim:= time(): > for a from 12929 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 12940, 235.625 12960, 493.170 12980, 668.046 13000, 732.833 13020, 841.125 13040, 987.173 13060, 1040.811 13080, 1204.841 13100, 1275.874 13120, 1359.469 13140, 1563.403 13160, 1615.032 13180, 1697.440 13200, 1836.248 13220, 2087.283 13240, 1887.859 13260, 2173.844 13280, 2354.454 13300, 2282.174 13320, 2477.419 13340, 2582.328 13360, 2703.532 13380, 2947.250 13400, 2984.938 13420, 3130.483 13440, 3405.949 13460, 3461.797 13480, 3357.766 13500, 3720.828 13520, 3709.957 13540, 3946.126 13560, 3776.811 13580, 4076.752 13600, 3932.579 13620, 4079.610 13640, 4381.185 Warning, computation interrupted > a;b; 13644 18073 > tim:= time(): > for a from 13644 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 20 = 0 then print(a, time() - tim); tim := time(); fi; > od; 13660, 315.702 13680, 519.235 13700, 586.110 13720, 685.357 13740, 833.545 13760, 871.735 13780, 1006.190 13800, 1107.203 13820, 1214.671 13840, 1230.783 13860, 1358.109 13880, 1492.750 13900, 1543.423 13920, 1641.499 13940, 1725.327 13960, 1910.844 13980, 1945.828 14000, 1930.233 14020, 2073.253 14040, 2178.874 14060, 2307.372 14080, 2431.752 14100, 2511.592 14120, 2673.673 14140, 3000.759 14160, 2812.046 14180, 2828.345 14200, 3017.717 Warning, computation interrupted > a;b; 14204 15117 > tim:= time(): > for a from 14204 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 14300, 2883.594 14400, 5079.154 14500, 7393.248 14600, 9701.834 14700, 11353.685 14800, 14165.985 14900, 16824.248 Warning, computation interrupted > a;b; 14976 15749 > tim:= time(): > for a from 14976 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 15000, 433.516 15100, 3017.998 15200, 4888.827 15300, 6667.171 15400, 8529.614 15500, 10156.288 15600, 12706.364 15700, 14373.359 15800, 15631.184 15900, 17203.511 16000, 19167.252 16100, 21149.703 16200, 23050.231 16300, 25118.426 16400, 26532.799 16500, 27803.152 16600, 29280.141 16700, 29908.899 16800, 31036.956 16900, 32273.328 17000, 33609.138 Warning, computation interrupted > a;b; 17065 21496 > tim:= time(): > for a from 17065 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 17100, 495.190 17200, 2255.668 17300, 3425.791 17400, 4354.721 17500, 5528.378 17600, 6598.155 17700, 7203.996 17800, 8535.518 17900, 9872.887 18000, 10496.843 18100, 11568.672 18200, 12126.627 18300, 12823.638 18400, 13594.176 18500, 14676.251 18600, 15568.090 18700, 16363.322 18800, 16829.341 18900, 17493.815 19000, 18195.531 19100, 19047.424 19200, 19917.028 19300, 19655.190 19400, 19105.017 19500, 19516.299 19600, 19621.142 Warning, computation interrupted > a;b; 19699 19972 > tim:= time(): > for a from 19699 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 19700, 14.890 19800, 989.614 19900, 1513.938 20000, 1915.073 20100, 2326.750 20200, 2530.844 20300, 2987.812 20400, 3278.575 20500, 3593.686 20600, 3788.719 20700, 3931.081 20800, 4194.249 20900, 4574.859 21000, 4711.111 21100, 4990.874 21200, 5087.316 21300, 5192.769 21400, 5231.126 21500, 5424.409 21600, 5146.141 21700, 5069.705 Warning, computation interrupted > a;b; 21703 22993 > tim:= time(): > for a from 21703 to 24332 do > for b from a+1 to 24333 do > mainbody(a,b); > od; > if a mod 100 = 0 then print(a, time() - tim); tim := time(); fi; > od; 21800, 496.203 21900, 665.250 22000, 763.590 22100, 853.547 22200, 933.233 22300, 980.518 22400, 1053.403 22500, 1082.411 22600, 1064.094 22700, 1065.330 22800, 1083.749 22900, 1062.124 23000, 1092.564 23100, 1015.924 23200, 1006.766 23300, 951.078 23400, 880.984 23500, 816.455 23600, 741.124 23700, 646.548 23800, 571.360 23900, 479.719 24000, 379.469 24100, 272.656 24200, 182.188 24300, 81.126 > a;b; 24333 24334 > # # # # # # # #