Testing the Nonlinear Integer Programming Solver with X(1)^5+X(2)^5+X(3)^5+X(4)^5=X(5)^5, Second Edition

Jsun Yui Wong

The computer program below seeks to solve the following Diophantine equation:
X(1)^5+X(2)^5+X(3)^5+X(4)^5 = X(5)^5, which is based on the following equation taken from page 16 of Gardner [4]: 27^5+84^5+110^5+133^5 = 144^5.

While line 128 of the preceding paper is 128 FOR I=1 TO 4000, line 128 here is
128 FOR I=1 TO 400.

0 DEFDBL A-Z
1 DEFINT I,J,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
89 RANDOMIZE JJJJ
90 M=-3D+30
111 FOR J44=1 TO 5
112 A(J44)=5 + ( RND *200)
113 NEXT J44
128 FOR I=1 TO 400
129 FOR KKQQ=1 TO 8
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
139 FOR IPP=1 TO FIX(1+RND*3)
140 B=1+FIX(RND*8)
150 R=(1-RND*2)*A(B)
155 IF RND<.5 THEN 160 ELSE 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
185 FOR J44=1 TO 5
186 IF X(J44)>1000 THEN X(J44)=50
187 IF X(J44)<10 THEN X(J44)=50
188 NEXT J44
195 X(5)= ( (X(1)^5#+X(2)^5#+X(3)^5#+X(4)^5# ) ) ^.2#
215 N(7)= X(5)^5#- X(1)^5#-X(2)^5#-X(3)^5#-X(4)^5#
322 PD1=-ABS(N(7))
1111 IF PD1<=M THEN 1670
1452 M=PD1
1454 FOR KLX=1 TO 8
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<0 THEN 1999
1904 PRINT A(1),A(2),A(3),A(4)
1905 PRINT A(5),M,JJJJ
1999 NEXT JJJJ

This BASIC computer program was run via basica/D of Microsoft’s GW-BASIC 3.11 interpreter for DOS. The complete output through JJJJ=1546 is shown below. What follows is a hand copy from the computer-monitor screen; immediately below there is no rounding by hand.

84 27 133 110
144 0 -23795

27 133 84 110
144 0 1546

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM, and the IBM basica/D interpreter, version GW BASIC 3.11, the wall-clock time for obtaining the output through JJJJ=1546 was 38 minutes.

Acknowledgement

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 (1985), 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 (1985). http://www.labeee.ufsc.br/~luis/ga/Gardner.pdf

[5] 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.

[6] 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.

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

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

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

[10] Wikipedia, Euler Brick. en.wikipedia.org/wiki/Euler_brick

[11] Jsun Yui Wong (2013, November 26), A Computer Program for Solving Systems of Diophantine Nonlinear Equations, Part 2. Retrieved from http://myblogsubstance.typepad.com/substance/2013/11/index.html.