FrobeniusSolve: how does it work?

Can someone suggest any reference to read? I would like to understand how the algorithm works.

• Here is Wolfram's official answer to your question: reference.wolfram.com/language/tutorial/… – QuantumDot May 4 '16 at 10:34
• You can try Trace[FrobeniusSolve[list, 5], TraceInternal -> True] >> "frob.txt" and then this is the result. So, how MMA does it, may be tricky to find out. But the two papers in this post give methods for solving these problems – Jason B. May 4 '16 at 10:39
• There's a decent chance that the method is related to the one described here by Michael Trott for solving linear Diophantine equations – Jason B. May 4 '16 at 10:52
• It uses integer linear programming. Relevant details to underlying method are described in a paper you can access here. – Daniel Lichtblau May 4 '16 at 14:46
• No, we don't use GB for FrobeniusSolve. Can be done that way but not so efficiently (although specialized toric GB code, e.g. as in the program 4t2, does a good job of it). – Daniel Lichtblau May 4 '16 at 16:59