A Nonlinear Integer Programming Code/Software/Solver Applied to Solving a Nonlinear System of 20500 Simultaneous Diophantine Equations Based on the Brown Almost Linear Function

Jsun Yui Wong

The computer program listed below seeks to solve the following nonlinear system of 20500 Diophantine equations:

20500
x(i) + sigma x(j) – (20500+1) = 0, for i = 1, 2, 3,…, 20499,
j=1

20500
pi    x(j) -1 = 0.
j=1

This present system is based on the Brown almost linear function in La Cruz, Marinez, and Raydan [3, p. 25]; http://www.ime.unicamp.br/~martinez/lmrreport.pdf. See also Han and Han [2, p. 227, Example 3]; http://www.SciRP.org/journal/am.

The starting vectors are shown in line 42, which is 42 A(J44) = -1 + FIX(RND * 3).

0 REM DEFDBL A-Z
2 DEFINT J, X

3 DIM B(20999), N(20999), A(20999), H(20999), L(20999), U(20999), X(20999), D(20999), P(20999), PS(20999), J(20999)

12 FOR JJJJ = -32000 TO 32000

15 RANDOMIZE JJJJ

16 M = -1D+37

41 FOR J44 = 1 TO 20500
42 A(J44) = -1 + FIX(RND * 3)

43 NEXT J44
128 FOR I = 1 TO 100000

129 FOR KKQQ = 1 TO 20500
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 3))

181 J = 1 + FIX(RND * 20503)

183 REM R = (1 – RND * 2) * A(J)

187 IF RND < .5 THEN X(J) = A(J) – 1 ELSE X(J) = A(J) + 1
189 REM X(J) = A(J) + (RND ^ 3) * R
192 NEXT IPP

251 SU = 0
254 FOR J44 = 1 TO 20499
258 SU = SU + X(J44)
266 NEXT J44

311 X(20500) = -X(1) – SU + (20500 + 1)
351 PR = 1
353 FOR J45 = 1 TO 20500
355 PR = PR * X(J45)

359 NEXT J45
422 FOR J41 = 2 TO 20499
439 P(J41) = -ABS(X(J41) + SU + X(20500) – (20500 + 1))
427 NEXT J41
441 P(20500) = -ABS(PR – 1)
451 FOR J77 = 2 TO 20500
452 IF P(J77) < 0 THEN P(J77) = P(J77) ELSE P(J77) = 0

454 NEXT J77
577 SP = 0

578 FOR J99 = 2 TO 20500
579 SP = SP + P(J99)
580 NEXT J99
595 P = SP

1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 20500

1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I

1889 REM IF M < -99 THEN 1999

1947 PRINT A(1), A(2), A(3), A(4), A(20497), A(20498), A(20499), A(20500), M, JJJJ

1999 NEXT JJJJ

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

0       0       0       0       0
0       0       20501       -1       -32000

1       1       1       1       1
1       1       1       0       -31999

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

Thus, through JJJJ=-31999, M=0 was obtained at JJJJ=-31999. Of the 20500 A’s, only the 8 A’s of line 1947 are shown above.

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

Acknowledgment

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

References

[1] Jean-Marie de Konnick, Armel Mercier, 1001 Problems in Classical Number Theory. American Mathematical Society, Providence, Rhode Island, 2007.

[2] Tianmin Han, Yuhuan Han, Solving large scale nonlinear equations by a new ODE numerical integration method, Applied Mathematics, 2010, 1, pp. 222-229. http://www.SciRP.org/journal/am.

[3] William La Cruz, Jose Mario Martinez, Marcos Raydan, Spectral residual method without gradient information for solving large-scale nonlinear systems of equations: Theory and experiments. Technical Report RT-04-08, July 2004.
http://www.ime.unicamp.br/~martinez/lmrreport.pdf.

[4] William La Cruz, Jose Mario Martinez, Marcos Raydan, Spectral residual method without gradient information for solving large-scale nonlinear systems of equations, Mathematics of Computation, vol. 75, no. 255, pp.1429-1448, 2006.

[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] William H. Mills, A System of Quadratic Diophantine Equations, Pacific Journal of Mathematics, 3 (1953), pp. 209-220.

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

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

[9] Jsun Yui Wong (2013, November 11). Solving Nonlinear Systems of Equations with the Domino Method, Second Edition. http://myblogsubstance.typepad.com/substance/2013/11/solving-nonlinear-systems-of-equations-with-the-domino-method-second-edition.html.