Ask Your Question

# Find all non-negative integer solutions of $a+b+c+d+e = 8$ in Sagemath

Find all non-negative integer a, b, c,d, e such that

$$a+b+c+d+e = 8$$

Is there any method for this? I have no idea. I can just fix the limit.

edit retag close merge delete

## Comments

See also http://math.stackexchange.com/questio... where this has several answers.

( 2017-02-11 07:28:41 -0600 )edit

## 2 answers

Sort by ยป oldest newest most voted

While this particular example could be easily done without Sage, you can have a look at Mixed Integer Linear Programming as a general method, see http://doc.sagemath.org/html/en/refer... and http://doc.sagemath.org/html/en/thema...

more

If the order of a, b, etc. matters:

sage: IntegerVectors(8, 5)
Integer vectors of length 5 that sum to 8
sage: list(IntegerVectors(8, 5))
[[8, 0, 0, 0, 0],
[7, 1, 0, 0, 0],
[7, 0, 1, 0, 0],
[7, 0, 0, 1, 0],
[7, 0, 0, 0, 1],
[6, 2, 0, 0, 0],
[6, 1, 1, 0, 0],
[6, 1, 0, 1, 0],
[6, 1, 0, 0, 1],
...


If you don't care about the order:

sage: Partitions(8, max_length=5)
Partitions of the integer 8 satisfying constraints max_length=5
sage: list(Partitions(8, max_length=5))
[[8],
[7, 1],
[6, 2],
[6, 1, 1],
[5, 3],
[5, 2, 1],
[5, 1, 1, 1],
[4, 4],
[4, 3, 1],
[4, 2, 2],
[4, 2, 1, 1],
[4, 1, 1, 1, 1],
[3, 3, 2],
[3, 3, 1, 1],
[3, 2, 2, 1],
[3, 2, 1, 1, 1],
[2, 2, 2, 2],
[2, 2, 2, 1, 1]]

more

## Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

## Stats

Asked: 2017-02-11 03:30:54 -0600

Seen: 322 times

Last updated: Feb 12 '17