Skip to content

FrobeniusSolve ​

All non-negative integer solutions xx of a⋅x=ba\cdot x = b, lexicographically.

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageFrobeniusSolve✓
FrobeniusSolve(a, b)every x≥0x \ge 0 with ∑aixi=b\sum a_i x_i = b
Typed signatures
TypePackageApplies
(list<integer>, integer) -> listnumber-theoryalways

Domain: Number theory

Details
  • The search behind FrobeniusNumber, for the caller who wants the solutions themselves.

Examples

Basic #
live ↗
InFrobeniusSolve([2,3],7)\mathrm{FrobeniusSolve}(\bigl\lbrack2, 3\bigr\rbrack, 7)Out[[2,1]]\bigl\lbrack\bigl\lbrack2, 1\bigr\rbrack\bigr\rbrack
live ↗
InFrobeniusSolve([2,3,5],10)\mathrm{FrobeniusSolve}(\bigl\lbrack2, 3, 5\bigr\rbrack, 10)Out[[0,0,2],[1,1,1],[2,2,0],[5,0,0]]\bigl\lbrack\bigl\lbrack0, 0, 2\bigr\rbrack, \bigl\lbrack1, 1, 1\bigr\rbrack, \bigl\lbrack2, 2, 0\bigr\rbrack, \bigl\lbrack5, 0, 0\bigr\rbrack\bigr\rbrack

Every way to make 123 from the four coin sizes

live ↗
InFrobeniusSolve([12,16,20,27],123)\mathrm{FrobeniusSolve}(\bigl\lbrack12, 16, 20, 27\bigr\rbrack, 123)Out[[0,1,4,1],[0,6,0,1],[1,4,1,1],[2,2,2,1],[3,0,3,1],[4,3,0,1],[5,1,1,1],[8,0,0,1]]\bigl\lbrack\bigl\lbrack0, 1, 4, 1\bigr\rbrack, \bigl\lbrack0, 6, 0, 1\bigr\rbrack, \bigl\lbrack1, 4, 1, 1\bigr\rbrack, \bigl\lbrack2, 2, 2, 1\bigr\rbrack, \bigl\lbrack3, 0, 3, 1\bigr\rbrack, \bigl\lbrack4, 3, 0, 1\bigr\rbrack, \bigl\lbrack5, 1, 1, 1\bigr\rbrack, \bigl\lbrack8, 0, 0, 1\bigr\rbrack\bigr\rbrack
Scope #
live ↗
InFrobeniusSolve([12,16,20,27],117)\mathrm{FrobeniusSolve}(\bigl\lbrack12, 16, 20, 27\bigr\rbrack, 117)Out[[0,1,1,3],[3,0,0,3]]\bigl\lbrack\bigl\lbrack0, 1, 1, 3\bigr\rbrack, \bigl\lbrack3, 0, 0, 3\bigr\rbrack\bigr\rbrack

Two ways to make 44 from packs of 6, 9 and 20

live ↗
InFrobeniusSolve([6,9,20],44)\mathrm{FrobeniusSolve}(\bigl\lbrack6, 9, 20\bigr\rbrack, 44)Out[[1,2,1],[4,0,1]]\bigl\lbrack\bigl\lbrack1, 2, 1\bigr\rbrack, \bigl\lbrack4, 0, 1\bigr\rbrack\bigr\rbrack
Properties #

43 is the Frobenius number of {6,9,20}\{6,9,20\}, so it has no solutions

live ↗
InFrobeniusSolve([6,9,20],43)\mathrm{FrobeniusSolve}(\bigl\lbrack6, 9, 20\bigr\rbrack, 43)Out[]\bigl\lbrack\bigr\rbrack

Two ways to make 24 without any 20-packs

live ↗
InFrobeniusSolve([6,9,20],24)\mathrm{FrobeniusSolve}(\bigl\lbrack6, 9, 20\bigr\rbrack, 24)Out[[1,2,0],[4,0,0]]\bigl\lbrack\bigl\lbrack1, 2, 0\bigr\rbrack, \bigl\lbrack4, 0, 0\bigr\rbrack\bigr\rbrack
About
Examples7
Checked againstWolfram Language 7 agree
CrosswalkWolfram Language

See also: FrobeniusNumber