Skip to content

nate-fidalgo/Diophantine-Solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

recreational-math

This program is used to search for solutions to any types of diophaintine equation in any number of variables. The search pattern can be a brute force run thru a given start range to ending range. Or one can set a custom search pattern where one searches a special pattern of numbers for solutions to the diophaintine equation. Another really neat feature is that because pythonV3 has bignum libraries builtin to there interperter this program is not restricted to any size ranges to check.
Very neat program for people that have many computers , cpu/cores or has abilities to setup distributive computation This program can act as a way to quickly compute distributively diophaintine equations or explore new patterns of search to find solutions!!!
Python is a great language and usually comes installed by default on linux/unix systems
All that is required is diopy.py file and to run it type python diopy.py at the terminal then enter the information in the format below


x^2+z+y = 14  # diophaintine equation to solve
x z y         # variables in the order they first appear left to right in above equation
0 1 2         # start range of the x z y variables
30 400 5000   # end range of the x z y variables
1  10  100    # incremental jumps for the x z y variables


The incremental jumps mean variables will increment like i+=1 , z+=10 , y+=100 one can make more complex type of jump patterns/searches

Please note you must write the diophantine equation with all variables on left hand side of equal sign for this program to work!!!
For example finding all Pythagorean quadruple with each entry under 40 would be inputed as


a^2+b^2+c^2-d^2 = 0  #not as a^2+b^2+c^2 = d^2
a b c d
1 1 1 1
40 40 40 40
1 1 1 1



List of all Pythagorean quadruples with each entry between 1 and 40

(1, 2, 2, 3)
(1, 4, 8, 9)
(1, 6, 18, 19)
(1, 8, 4, 9)
(1, 8, 32, 33)
(1, 12, 12, 17)
(1, 18, 6, 19)
(1, 18, 30, 35)
(1, 30, 18, 35)
(1, 32, 8, 33)
(2, 1, 2, 3)
(2, 2, 1, 3)
(2, 3, 6, 7)
(2, 4, 4, 6)
(2, 5, 14, 15)
(2, 6, 3, 7)
(2, 6, 9, 11)
(2, 7, 26, 27)
(2, 8, 16, 18)
(2, 9, 6, 11)
(2, 10, 11, 15)
(2, 10, 25, 27)
(2, 11, 10, 15)
(2, 12, 36, 38)
(2, 14, 5, 15)
(2, 14, 23, 27)
(2, 16, 8, 18)
(2, 19, 34, 39)
(2, 23, 14, 27)
(2, 24, 24, 34)
(2, 25, 10, 27)
(2, 26, 7, 27)
(2, 26, 29, 39)
(2, 29, 26, 39)
(2, 34, 19, 39)
(2, 36, 12, 38)
(3, 2, 6, 7)
(3, 4, 12, 13)
(3, 6, 2, 7)
(3, 6, 6, 9)
(3, 6, 22, 23)
(3, 8, 36, 37)
(3, 12, 4, 13)
(3, 12, 24, 27)
(3, 14, 18, 23)
(3, 16, 24, 29)
(3, 18, 14, 23)
(3, 22, 6, 23)
(3, 24, 12, 27)
(3, 24, 16, 29)
(3, 24, 28, 37)
(3, 28, 24, 37)
(3, 36, 8, 37)
(4, 1, 8, 9)
(4, 2, 4, 6)
(4, 3, 12, 13)
(4, 4, 2, 6)
(4, 4, 7, 9)
(4, 5, 20, 21)
(4, 6, 12, 14)
(4, 7, 4, 9)
(4, 7, 32, 33)
(4, 8, 1, 9)
(4, 8, 8, 12)
(4, 8, 19, 21)
(4, 10, 28, 30)
(4, 12, 3, 13)
(4, 12, 6, 14)
(4, 12, 18, 22)
(4, 13, 16, 21)
(4, 16, 13, 21)
(4, 16, 32, 36)
(4, 17, 28, 33)
(4, 18, 12, 22)
(4, 19, 8, 21)
(4, 20, 5, 21)
(4, 20, 22, 30)
(4, 22, 20, 30)
(4, 28, 10, 30)
(4, 28, 17, 33)
(4, 32, 7, 33)
(4, 32, 16, 36)
(5, 2, 14, 15)
(5, 4, 20, 21)
(5, 6, 30, 31)
(5, 10, 10, 15)
(5, 14, 2, 15)
(5, 20, 4, 21)
(5, 30, 6, 31)
(6, 1, 18, 19)
(6, 2, 3, 7)
(6, 2, 9, 11)
(6, 3, 2, 7)
(6, 3, 6, 9)
(6, 3, 22, 23)
(6, 4, 12, 14)
(6, 5, 30, 31)
(6, 6, 3, 9)
(6, 6, 7, 11)
(6, 6, 17, 19)
(6, 7, 6, 11)
(6, 8, 24, 26)
(6, 9, 2, 11)
(6, 9, 18, 21)
(6, 10, 15, 19)
(6, 10, 33, 35)
(6, 12, 4, 14)
(6, 12, 12, 18)
(6, 13, 18, 23)
(6, 14, 27, 31)
(6, 15, 10, 19)
(6, 17, 6, 19)
(6, 17, 30, 35)
(6, 18, 1, 19)
(6, 18, 9, 21)
(6, 18, 13, 23)
(6, 18, 27, 33)
(6, 21, 22, 31)
(6, 22, 3, 23)
(6, 22, 21, 31)
(6, 24, 8, 26)
(6, 27, 14, 31)
(6, 27, 18, 33)
(6, 30, 5, 31)
(6, 30, 17, 35)
(6, 33, 10, 35)
(7, 2, 26, 27)
(7, 4, 4, 9)
(7, 4, 32, 33)
(7, 6, 6, 11)
(7, 14, 14, 21)
(7, 14, 22, 27)
(7, 16, 28, 33)
(7, 22, 14, 27)
(7, 26, 2, 27)
(7, 28, 16, 33)
(7, 32, 4, 33)
(8, 1, 4, 9)
(8, 1, 32, 33)
(8, 2, 16, 18)
(8, 3, 36, 37)
(8, 4, 1, 9)
(8, 4, 8, 12)
(8, 4, 19, 21)
(8, 6, 24, 26)
(8, 8, 4, 12)
(8, 8, 14, 18)
(8, 8, 31, 33)
(8, 9, 12, 17)
(8, 11, 16, 21)
(8, 12, 9, 17)
(8, 12, 24, 28)
(8, 14, 8, 18)
(8, 16, 2, 18)
(8, 16, 11, 21)
(8, 16, 16, 24)
(8, 19, 4, 21)
(8, 20, 25, 33)
(8, 24, 6, 26)
(8, 24, 12, 28)
(8, 24, 27, 37)
(8, 25, 20, 33)
(8, 27, 24, 37)
(8, 31, 8, 33)
(8, 32, 1, 33)
(8, 36, 3, 37)
(9, 2, 6, 11)
(9, 6, 2, 11)
(9, 6, 18, 21)
(9, 8, 12, 17)
(9, 12, 8, 17)
(9, 12, 20, 25)
(9, 12, 36, 39)
(9, 18, 6, 21)
(9, 18, 18, 27)
(9, 20, 12, 25)
(9, 36, 12, 39)
(10, 2, 11, 15)
(10, 2, 25, 27)
(10, 4, 28, 30)
(10, 5, 10, 15)
(10, 6, 15, 19)
(10, 6, 33, 35)
(10, 10, 5, 15)
(10, 10, 23, 27)
(10, 11, 2, 15)
(10, 14, 35, 39)
(10, 15, 6, 19)
(10, 15, 30, 35)
(10, 20, 20, 30)
(10, 23, 10, 27)
(10, 25, 2, 27)
(10, 28, 4, 30)
(10, 30, 15, 35)
(10, 33, 6, 35)
(10, 35, 14, 39)
(11, 2, 10, 15)
(11, 8, 16, 21)
(11, 10, 2, 15)
(11, 12, 24, 29)
(11, 16, 8, 21)
(11, 22, 22, 33)
(11, 24, 12, 29)
(12, 1, 12, 17)
(12, 2, 36, 38)
(12, 3, 4, 13)
(12, 3, 24, 27)
(12, 4, 3, 13)
(12, 4, 6, 14)
(12, 4, 18, 22)
(12, 6, 4, 14)
(12, 6, 12, 18)
(12, 8, 9, 17)
(12, 8, 24, 28)
(12, 9, 8, 17)
(12, 9, 20, 25)
(12, 9, 36, 39)
(12, 11, 24, 29)
(12, 12, 1, 17)
(12, 12, 6, 18)
(12, 12, 14, 22)
(12, 12, 21, 27)
(12, 12, 34, 38)
(12, 14, 12, 22)
(12, 15, 16, 25)
(12, 16, 15, 25)
(12, 16, 21, 29)
(12, 18, 4, 22)
(12, 20, 9, 25)
(12, 20, 30, 38)
(12, 21, 12, 27)
(12, 21, 16, 29)
(12, 21, 28, 37)
(12, 24, 3, 27)
(12, 24, 8, 28)
(12, 24, 11, 29)
(12, 24, 24, 36)
(12, 28, 21, 37)
(12, 30, 20, 38)
(12, 34, 12, 38)
(12, 36, 2, 38)
(12, 36, 9, 39)
(13, 4, 16, 21)
(13, 6, 18, 23)
(13, 14, 34, 39)
(13, 16, 4, 21)
(13, 18, 6, 23)
(13, 26, 26, 39)
(13, 34, 14, 39)
(14, 2, 5, 15)
(14, 2, 23, 27)
(14, 3, 18, 23)
(14, 5, 2, 15)
(14, 6, 27, 31)
(14, 7, 14, 21)
(14, 7, 22, 27)
(14, 8, 8, 18)
(14, 10, 35, 39)
(14, 12, 12, 22)
(14, 13, 34, 39)
(14, 14, 7, 21)
(14, 18, 3, 23)
(14, 18, 21, 31)
(14, 21, 18, 31)
(14, 22, 7, 27)
(14, 22, 29, 39)
(14, 23, 2, 27)
(14, 27, 6, 31)
(14, 29, 22, 39)
(14, 34, 13, 39)
(14, 35, 10, 39)
(15, 6, 10, 19)
(15, 10, 6, 19)
(15, 10, 30, 35)
(15, 12, 16, 25)
(15, 16, 12, 25)
(15, 18, 26, 35)
(15, 26, 18, 35)
(15, 30, 10, 35)
(16, 2, 8, 18)
(16, 3, 24, 29)
(16, 4, 13, 21)
(16, 4, 32, 36)
(16, 7, 28, 33)
(16, 8, 2, 18)
(16, 8, 11, 21)
(16, 8, 16, 24)
(16, 11, 8, 21)
(16, 12, 15, 25)
(16, 12, 21, 29)
(16, 13, 4, 21)
(16, 15, 12, 25)
(16, 16, 8, 24)
(16, 16, 28, 36)
(16, 18, 24, 34)
(16, 21, 12, 29)
(16, 24, 3, 29)
(16, 24, 18, 34)
(16, 28, 7, 33)
(16, 28, 16, 36)
(16, 32, 4, 36)
(17, 4, 28, 33)
(17, 6, 6, 19)
(17, 6, 30, 35)
(17, 20, 20, 33)
(17, 28, 4, 33)
(17, 30, 6, 35)
(18, 1, 6, 19)
(18, 1, 30, 35)
(18, 3, 14, 23)
(18, 4, 12, 22)
(18, 6, 1, 19)
(18, 6, 9, 21)
(18, 6, 13, 23)
(18, 6, 27, 33)
(18, 9, 6, 21)
(18, 9, 18, 27)
(18, 12, 4, 22)
(18, 13, 6, 23)
(18, 14, 3, 23)
(18, 14, 21, 31)
(18, 15, 26, 35)
(18, 16, 24, 34)
(18, 18, 9, 27)
(18, 18, 21, 33)
(18, 21, 14, 31)
(18, 21, 18, 33)
(18, 24, 16, 34)
(18, 26, 15, 35)
(18, 27, 6, 33)
(18, 30, 1, 35)
(19, 2, 34, 39)
(19, 4, 8, 21)
(19, 8, 4, 21)
(19, 22, 26, 39)
(19, 26, 22, 39)
(19, 34, 2, 39)
(20, 4, 5, 21)
(20, 4, 22, 30)
(20, 5, 4, 21)
(20, 8, 25, 33)
(20, 9, 12, 25)
(20, 10, 20, 30)
(20, 12, 9, 25)
(20, 12, 30, 38)
(20, 17, 20, 33)
(20, 20, 10, 30)
(20, 20, 17, 33)
(20, 22, 4, 30)
(20, 25, 8, 33)
(20, 30, 12, 38)
(21, 6, 22, 31)
(21, 12, 12, 27)
(21, 12, 16, 29)
(21, 12, 28, 37)
(21, 14, 18, 31)
(21, 16, 12, 29)
(21, 18, 14, 31)
(21, 18, 18, 33)
(21, 22, 6, 31)
(21, 28, 12, 37)
(22, 3, 6, 23)
(22, 4, 20, 30)
(22, 6, 3, 23)
(22, 6, 21, 31)
(22, 7, 14, 27)
(22, 11, 22, 33)
(22, 14, 7, 27)
(22, 14, 29, 39)
(22, 19, 26, 39)
(22, 20, 4, 30)
(22, 21, 6, 31)
(22, 22, 11, 33)
(22, 26, 19, 39)
(22, 29, 14, 39)
(23, 2, 14, 27)
(23, 10, 10, 27)
(23, 14, 2, 27)
(24, 2, 24, 34)
(24, 3, 12, 27)
(24, 3, 16, 29)
(24, 3, 28, 37)
(24, 6, 8, 26)
(24, 8, 6, 26)
(24, 8, 12, 28)
(24, 8, 27, 37)
(24, 11, 12, 29)
(24, 12, 3, 27)
(24, 12, 8, 28)
(24, 12, 11, 29)
(24, 12, 24, 36)
(24, 16, 3, 29)
(24, 16, 18, 34)
(24, 18, 16, 34)
(24, 24, 2, 34)
(24, 24, 12, 36)
(24, 27, 8, 37)
(24, 28, 3, 37)
(25, 2, 10, 27)
(25, 8, 20, 33)
(25, 10, 2, 27)
(25, 20, 8, 33)
(26, 2, 7, 27)
(26, 2, 29, 39)
(26, 7, 2, 27)
(26, 13, 26, 39)
(26, 15, 18, 35)
(26, 18, 15, 35)
(26, 19, 22, 39)
(26, 22, 19, 39)
(26, 26, 13, 39)
(26, 29, 2, 39)
(27, 6, 14, 31)
(27, 6, 18, 33)
(27, 8, 24, 37)
(27, 14, 6, 31)
(27, 18, 6, 33)
(27, 24, 8, 37)
(28, 3, 24, 37)
(28, 4, 10, 30)
(28, 4, 17, 33)
(28, 7, 16, 33)
(28, 10, 4, 30)
(28, 12, 21, 37)
(28, 16, 7, 33)
(28, 16, 16, 36)
(28, 17, 4, 33)
(28, 21, 12, 37)
(28, 24, 3, 37)
(29, 2, 26, 39)
(29, 14, 22, 39)
(29, 22, 14, 39)
(29, 26, 2, 39)
(30, 1, 18, 35)
(30, 5, 6, 31)
(30, 6, 5, 31)
(30, 6, 17, 35)
(30, 10, 15, 35)
(30, 12, 20, 38)
(30, 15, 10, 35)
(30, 17, 6, 35)
(30, 18, 1, 35)
(30, 20, 12, 38)
(31, 8, 8, 33)
(32, 1, 8, 33)
(32, 4, 7, 33)
(32, 4, 16, 36)
(32, 7, 4, 33)
(32, 8, 1, 33)
(32, 16, 4, 36)
(33, 6, 10, 35)
(33, 10, 6, 35)
(34, 2, 19, 39)
(34, 12, 12, 38)
(34, 13, 14, 39)
(34, 14, 13, 39)
(34, 19, 2, 39)
(35, 10, 14, 39)
(35, 14, 10, 39)
(36, 2, 12, 38)
(36, 3, 8, 37)
(36, 8, 3, 37)
(36, 9, 12, 39)
(36, 12, 2, 38)
(36, 12, 9, 39)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages