# Solving Diophantine equations using Julia

**URL:** <https://discourse.julialang.org/t/solving-diophantine-equations-using-julia/41829>\
**Category:** Numerics\
**Tags:** question\
**Created:** [June 22, 2020, 12:51am UTC](https://discourse.julialang.org/t/solving-diophantine-equations-using-julia/41829 "2020-06-22T00:51:20Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Angel\_Barria\_Comiche](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/angel_barria_comiche/32/15855_2.png) [@Angel\_Barria\_Comiche](https://discourse.julialang.org/u/Angel_Barria_Comiche)\
**Post date:** [June 22, 2020, 12:51am UTC](https://discourse.julialang.org/t/solving-diophantine-equations-using-julia/41829/1 "2020-06-22T00:51:20Z")

</div>

Hi, I am new with Julia and I was wondering how can I solve a system of diophantine equations adding conditions to some of the variables. For example, I would like to find integers x, y, p, h, r, t that solve the equations  
eqn1: (t+8)(15)=(p-8)(r-15)  
eqn2: 58(x-15)=(y+8)(r-15)  
eqn3: (x+40)(h-80)=40(y-80)  
Subject to the constraints  
48\<t\<51  
0\<y\<50  
r\>0 and p\>0.  
In Matlab I would use solve([eqn1,eq2,eq3,conditions],[variables]) using ‘integer’ at the begining.

---

<div class="post-metadata">

**Author:** ![tchr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tchr/32/15138_2.png) [@tchr](https://discourse.julialang.org/u/tchr)\
**Post date:** [June 22, 2020, 3:53am UTC](https://discourse.julialang.org/t/solving-diophantine-equations-using-julia/41829/2 "2020-06-22T03:53:50Z")

</div>

For individual solutions, this could be approached with JuMP and GLPK in combination.  
Linear integer programming problems are discussed in the documentation of JuMP.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [June 22, 2020, 5:48am UTC](https://discourse.julialang.org/t/solving-diophantine-equations-using-julia/41829/3 "2020-06-22T05:48:16Z")

</div>

Have a look at this function and see if it solves your problem  
[https://juliahub.com/ui/Documentation?q=diophantine](https://juliahub.com/ui/Documentation?q=diophantine)

---

<div class="post-metadata">

**Author:** ![arnerob](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/arnerob/32/49522_2.png) [@arnerob](https://discourse.julialang.org/u/arnerob)\
**Post date:** [August 9, 2024, 5:12am UTC](https://discourse.julialang.org/t/solving-diophantine-equations-using-julia/41829/4 "2024-08-09T05:12:42Z")

</div>

I seems to be removed. 😕 This looks promising: [JuliaHub](https://juliahub.com/ui/Packages/General/NormalForms) altough it doesn’t have the function to solve diophantine equations implemented yet.
