Monday, September 28, 2015

Testing the Nonlinear Integer Programming Solver with the Moessner 6.1.23 Equation

Jsun Yui Wong

The computer program listed below seeks to solve the following Moessner (1959) 6.1.23 Diophantine equation from Weisstein [16].  

X(1) ^ 6 + X(2) ^ 6 + X(3) ^ 6 + X(4) ^ 6 + X(5) ^ 6 + X(6) ^ 6 + X(7) ^ 6 + X(8) ^ 6 + X(9) ^ 6 + X(10) ^ 6 + X(11) ^ 6 + X(12) ^ 6 + X(13) ^ 6 + X(14) ^ 6 + X(15) ^ 6 + X(16) ^ 6 + X(17) ^ 6 + X(18) ^ 6 + X(19) ^ 6 + X(20) ^ 6 + X(21) ^ 6 + X(22) ^ 6 + X(23) ^ 6  =  X(24) ^ 6

The following computer program uses qb64v1000-win [12, 15]. One notes line 88 below, which is 88 FOR JJJJ = -32000 TO 32000 STEP .1.

0 DEFDBL A-Z
1 DEFINT I, K, A, X

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J(99), AA(99), HR(32), HHR(32), PLHS(44), LB(22), UB(22), PX(44), J44(44), PN(22), NN(22)
88 FOR JJJJ = -32000 TO 32000 STEP .1


    89 RANDOMIZE JJJJ
    90 M = -3D+30
    111 FOR J44 = 1 TO 24

        112 A(J44) = 1 + (RND * 40)



    113 NEXT J44
    128 FOR I = 1 TO 2500



        129 FOR KKQQ = 1 TO 24



            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        139 FOR IPP = 1 TO FIX(1 + RND * 6)


            140 B = 1 + FIX(RND * 24)


            150 R = (1 - RND * 2) * A(B)
            155 IF RND < .5 THEN 160 ELSE GOTO 167
            160 X(B) = (A(B) + RND ^ 3 * R)
            164 REM IF RND<.5 THEN X(B)=(A(B)-RND*10) ELSE X(B)=(A(B) +RND*10)
            165 GOTO 168
            167 IF RND < .5 THEN X(B) = CINT(A(B) - 1) ELSE X(B) = CINT(A(B) + 1)
        168 NEXT IPP
        169 REM GOTO 185
        171 IF X(1) = X(2) THEN 1670
        172 IF X(1) = X(3) THEN 1670
        173 IF X(2) = X(3) THEN 1670

        174 IF X(3) = X(4) THEN 1670


        175 IF X(4) = X(5) THEN 1670


        176 IF X(6) = X(7) THEN 1670

        177 FOR JJ11 = 1 TO 22

            178 FOR JN = JJ11 + 1 TO 23


                179 IF X(JJ11) = X(JN) THEN 1670
            180 NEXT JN
        181 NEXT JJ11



        185 FOR J44 = 1 TO 24



            186 IF X(J44) > 70 THEN X(J44) = 20



            187 IF X(J44) < 1 THEN X(J44) = 5



        188 NEXT J44
        195 X(24) = ((X(1) ^ 6# + X(2) ^ 6# + X(3) ^ 6# + X(4) ^ 6# + X(5) ^ 6# + X(6) ^ 6# + X(7) ^ 6# + X(8) ^ 6# + X(9) ^ 6# + X(10) ^ 6# + X(11) ^ 6# + X(12) ^ 6# + X(13) ^ 6# + X(14) ^ 6# + X(15) ^ 6# + X(16) ^ 6# + X(17) ^ 6# + X(18) ^ 6# + X(19) ^ 6# + X(20) ^ 6# + X(21) ^ 6# + X(22) ^ 6# + X(23) ^ 6#)) ^ .1666666666666666666666666666666##



        211 N(7) = X(24) ^ 6# - X(1) ^ 6# - X(2) ^ 6# - X(3) ^ 6# - X(4) ^ 6# - X(5) ^ 6# - X(6) ^ 6# - X(7) ^ 6# - X(8) ^ 6# - X(9) ^ 6# - X(10) ^ 6# - X(11) ^ 6# - X(12) ^ 6# - X(13) ^ 6# - X(14) ^ 6# - X(15) ^ 6# - X(16) ^ 6# - X(17) ^ 6# - X(18) ^ 6# - X(19) ^ 6# - X(20) ^ 6# - X(21) ^ 6# - X(22) ^ 6# - X(23) ^ 6#



        322 PD1 = -ABS(N(7))
        1111 IF PD1 <= M THEN 1670
        1452 M = PD1
        1454 FOR KLX = 1 TO 24



            1455 A(KLX) = X(KLX)
        1456 NEXT KLX
        1557 GOTO 128
    1670 NEXT I
    1889 IF M < -1 THEN 1999




    1904 PRINT A(1), A(2), A(3), A(4)

    1905 PRINT A(5), A(6), A(7), A(8)

    1906 PRINT A(9), A(10), A(11), A(12)


    1907 PRINT A(13), A(14), A(15), A(16)
    1908 PRINT A(17), A(18), A(19), A(20)

    1909 PRINT A(21), A(22), A(23), A(24)



    1922 PRINT M, JJJJ


1999 NEXT JJJJ

This computer program was run with qb64v1000-win [12, 15]. Copied by hand from the screen, the computer program’s complete output through
JJJJ=   32000 is shown below:

7   1   8   40
13   38   36   22
23   24   11   25
21   17   41   37
15   67   19   16
51   29   58   74
-1         -30625.10000002001

15   21   33   18
13   41   10   35
1   34   40   11
29   38   23   39
19   17   2   31
50   26   25   58
-1         -12465.400000213

40   38   31    6
20   1   26   18
17   32   24   3
37   27   34   35
10   2   22  28
30   25   8   51
-1         -9463.200000202065

38   13   25   24
10   40   28   21
19   20   26   9
34   1   30   39
32   5   4   8
16   36  2  51
-1         -2876.200000018365

39   16   34   28
9   20   5   2
32   4   26    38
21   13   30   40
10   19   1   36
8   25   24   51
-1         15138.59999985237

6   13   12   31
41   18   8   17
5   40   26   28
23   4   14   2
11   1   38   10
9   20   16   49
0         22581.29999976672  

Above there is no rounding by hand; it is just straight copying by hand from the screen.

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and with qb64v1000-win [12, 15], the wall-clock time for obtaining the output through JJJJ=   32000 was four hours.

Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] S. Abraham, S. Sanyal, M. Sanglikar (2013), Finding Numerical Solutions of Diophantine Equations Using Ant Colony Optimization. Applied Mathematics and Computation 219 (2013), pages 11376-11387.

[2] J. L. Brenner, Lorraine L. Foster (1982), Exponential Diophantine Equations. Pacific Journal of Mathematics, Volume 101, Number 2, 1982, Pages 263-301.

[3] Martin Gardner (1979), Mathematical Games. Scientific American, 241 (3), Page 25.

[4] Martin Gardner (1983), Diophantine Analysis and Fermat’s Last Theorem, Chapter 2 of Wheels, Life and Other Mathematical Amusements. New York, San Francisco: W. H. Freeman and Company (1983). http://www.labeee.ufsc.br/~luis/ga/Gardner.pdf

[5] L. J. Lander, T. R. Parkin (1966), Counterexample to Euler’s Conjecture on Sums of Like Powers. The Bulletin of American Mathematical Society, Vol. 72, 1966, page 1079.

[6] L. J. Lander, T. R. Parkin (1967), A Counterexample to Euler’s Sum of Powers Conjecture. Mathematics of Computation, Vol. 21, January 1967, pages 101-103.

[7] L. J. Lander, T. R. Parkin, J. L. Selfridge (1967), A Survey of Equal Sums of Like Powers. Mathematics of Computation, Vol. 21, July 1967, pages 446-459.

[8] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[9] O. Perez, I. Amaya, R. Correa (2013), Numerical Solution of Certain Exponential and Non-linear Diophantine Systems of Equations by Using a Discrete Particles Swarm Optimization Algorithm. Applied Mathematics and Computation, Volume 225, 1 December 2013, Pages 737-746.

[10] Tito Piezas III, Euler Bricks and Quadruples. http://sites.google.com/site/tpiezas/0021

[11] W. Sierpinski, A Selection of Problems in the Theory of Numbers. New York: The McMillan Company, 1964.

[12] E.K. Virtanen (2008-05-26). “Interview With Galleon”.
http://www.basicprogramming.org/PCOPY!issue70/#galleoninterview

[13] Michel Waldschmidt, Open Diophantine Problems. Moscow Mathematical Journal, Volume 4, Number 1, January-March 2004, Pages 245-305.

[14] Wikipedia, Euler's sum of powers conjecture.  https://en.wikipedia.org/wiki/Euler%27s_sum_of_powers_conjecture

[15] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64

[16] Eric Weisstein.  Diophantine Equation--6th Powers.
http://mathworld.wolfram.com/DiophantineEquation6thPowers.html

No comments:

Post a Comment