The linsolve function does not check assumptions like integer=True.
The solve function does but only as a final check. Neither of these
really solves integer systems in the way that you would want here.
The diophantine function is for integer equations but does not handle
systems of equations so is also not what you want.
I put some code that illustrates improvements to diophantine in this issue:
https://github.com/sympy/sympy/issues/20682
Using that code you have:
In [9]: diop_new(eqnList, [h, l, m, n])
Out[9]: ∅
In [11]: diop_new([eqnList[0]], [h, l, m, n])
Out[11]: {((t₁, 2⋅t₀, t₂, t₀), (t₀, t₁, t₂), (ℤ, ℤ, ℤ))}
In [13]: diop_new([eqnList[1]], [h, l, m, n])
Out[13]: {((t₀, 2⋅t₀ + 4⋅t₁ + 3, t₀ + t₁, t₂), (t₀, t₁, t₂), (ℤ, ℤ, ℤ))}
That code is not well tested but you might find it useful.
--
Oscar
> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
sympy+un...@googlegroups.com.
> To view this discussion visit
https://groups.google.com/d/msgid/sympy/0c23f1e5-15e8-4345-a961-f8be9728e127n%40googlegroups.com.