Jsun Yui Wong
Based on the computer program of an earlier paper [13], the following computer program seeks to solve the following system of four nonlinear Diophantine equations:
X(1)^2+X(2) ^2 +X(3)^2 = X(5)^2
X(1)^2+X(3) ^2 +X(4)^2 = X(6)^4
X(1)^2+X(2) ^2 +X(4)^2 = X(7)^4
X(2)^2+X(3) ^2 +X(4)^2 = X(8)^2,
which is a modified version of the following system:
X(1)^2+X(2) ^2 +X(3)^2 = 113^2
X(1)^2+X(3) ^2 +X(4)^2 = 11^4
X(1)^2+X(2) ^2 +X(4)^2 = 11^4
X(2)^2+X(3) ^2 +X(4)^2 = 132^2
taken from Piezas [7].
While line 112 and line 214 of the computer program of the preceding paper are 112 A(J44)=1+FIX(RND*300) and 214 IF X(J44)>300 THEN X(J44)=A(J44), line 112 and line 214 here are
112 A(J44)=1+FIX(RND*500) and 214 IF X(J44)>500 THEN X(J44)=A(J44), respectively. Thus, the search region is bigger here.
0 REM DEFDBL A-Z
1 DEFINT I,J,K,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
110 FOR J44=1 TO 8
112 A(J44)=1+FIX( RND*500)
113 NEXT J44
128 FOR I=1 TO 3000
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)
144 REM GOTO 167
150 R=(1-RND*2)*A(B)
155 IF RND<.5 THEN 160 ELSE 167
160 X(B)=(A(B) +RND^3*R)
165 GOTO 168
167 IF RND<.5 THEN X(B)=CINT(A(B)-1) ELSE X(B)=CINT(A(B) +1)
168 REM IF A(B)=0 THEN X(B)=1 ELSE X(B)=0
169 NEXT IPP
181 X(5)= ( X(1)^2#+X(2) ^2# +X(3)^2# ) ^.5#
183 X(6)= ( X(1)^2#+X(3) ^2# +X(4)^2# ) ^.25#
185 X(7)= ( X(1)^2#+X(2) ^2# +X(4)^2# ) ^.25#
187 X(8)= ( X(2)^2#+X(3) ^2# +X(4)^2# ) ^.5#
212 FOR J44=1 TO 8
213 IF X(J44)<1 THEN X(J44)=A(J44)
214 IF X(J44)>500 THEN X(J44)=A(J44)
215 NEXT J44
217 N(7)= X(1)^2#+X(2) ^2# +X(3)^2# -X(5)^2#
218 N(8)= X(1)^2#+X(3) ^2# +X(4)^2# -X(6)^4#
219 N(9)= X(1)^2#+X(2) ^2# +X(4)^2# -X(7)^4#
220 N(10)= X(2)^2#+X(3) ^2# +X(4)^2# -X(8)^2#
335 PD1=-ABS(N(7))-ABS(N(8))-ABS(N(9)) -ABS(N(10))
1111 IF PD1<=M THEN 1670
1452 M=PD1
1454 FOR KLX=1 TO 8
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1558 GOTO 128
1670 NEXT I
1889 IF M<-1 THEN 1999
1904 PRINT A(1),A(2),A(3),A(4),A(5)
1927 PRINT A(6),A(7),A(8),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run via basica/D of Microsoft's GW-BASIC 3.11 interpreter for DOS. See [6]. The complete output through JJJJ=-18116 is copied by hand from the screen and shown below. Immediately below there is no rounding by hand.
49 72 72 84 113
11 11 132 0 -18116
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=-18116 was three hours.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] E. Balas, An Additive Algorithm for Solving Linear Programs with Zero-One Variables. Operations Research, Vol. 13, No. 4 (1965), pp. 517-548.
[2] E. Balas, Discrete Programming by the Filter Method. Operations Research, Vol. 15, No. 5 (Sep. - Oct., 1967), pp. 915-957.
[3] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems. Operations Research, Vol. 14, No. 6 (Nov. - Dec., 1966), pp. 1098-1112.
[4] E. L. Lawler, M. D. Bell, Errata: A Method for Solving Discrete Optimization Problems. Operations Research, Vol. 15, No. 3 (May - June, 1967), p. 578.
[5] Duan Li, Xiaoling Sun, Nonlinear Integer Programming. Publisher: Springer Science+Business Media,LLC (2006).
[6] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C,Boca Raton, Floridda 33432, 1981.
[7] Tito Piezas III, Euler Bricks and Quadruples. http://sites.google.com/site/tpiezas/0021
[8] Harvey M. Salkin, Integer Programming. Menlo Park, California: Addison-Wesley Publishing Company (1975).
[9] Harvey M. Salkin, Kamlesh Mathur, Foundations of Integer Programming. Publisher: Elsevier Science Ltd (1989).
[10] K. Schittkowski, More Test Examples for Nonlinear Programming Codes. Springer-Verlag, 1987.
[11] Jsun Yui Wong (2012, April 23). The Domino Method of General Integer Nonlinear Programming Applied to Problem 2 of Lawler and Bell. http://computationalresultsfromcomputerprograms.wordpress.com/2012/04/23/
[12] Jsun Yui Wong (2013, September 4). A Nonlinear Integer/Discrete/Continuous Programming Solver Applied to a Literature Problem with Twenty Binary Variables and Three Constraints, Third Edition. http://myblogsubstance.typepad.com/substance/2013/09/
[13] Jsun Yui Wong (2014, February 1). Testing the Nonlinear Integer Programming Solver with Another System of Nonlinear Diophantine Equations. http://computerprogramsandresults.wordpress.com/2014/02/01/