       Re: Table for FindInstance solutions

• To: mathgroup at smc.vnet.net
• Subject: [mg114594] Re: Table for FindInstance solutions
• From: Daniel Lichtblau <danl at wolfram.com>
• Date: Thu, 9 Dec 2010 06:02:53 -0500 (EST)

```MH wrote:
> Hello.  I'm trying to display in a table solutions to the equation 6S
> + 9N + 20T = D, where D is an integer allowed to go from 1 to 100.  I
> can use FindInstance to find solutions with no problems.  What'd I'd
> really like, though, is a table with four columns: one column each for
> D, S, N, and T.  The following code gets me close to what I want, but
> every entry in the last three columns is the same.  And, every entry
> gives the value for S, N, and T, instead of just the appropriate S or
> N or T value.  For example, when D = 71, that row reads
>
> 71  {S -> 7, N -> 1, T -> 1}  {S -> 7, N -> 1, T -> 1}  {S -> 7, N ->
> 1, T -> 1}.
>
> I can interpret the correct result (7 sixes, 1 nine, and 1 twenty),
> but I'd like the column to read
>
> 71  7  1  1
>
> How can I change that?  Incidentally, this problem is from a current
> issue of Delta Airlines' Sky Magazine.  The problem asks about a baker
> who sells donuts in boxes of 6, 9, and 20.  What's the largest number
> of donuts you CANNOT purchase?  I have the solution; I'd just like it
> to look a little bit nicer.  :-)
>
> Thanks!
>
> MH
>
> =====
> TableForm[
>  Table[
>   {D,
>    FindInstance[
>     6 S + 9 N + 20 T == D && S >= 0 && N >= 0 && T >= 0, {S, N, T},
>     Integers],
>    FindInstance[
>     6 S + 9 N + 20 T == D && S >= 0 && N >= 0 && T >= 0, {S, N, T},
>     Integers],
>    FindInstance[
>     6 S + 9 N + 20 T == D && S >= 0 && N >= 0 && T >= 0, {S, N, T},
>     Integers]
>    },
>   {D, 1, 20, 1}],
>  TableHeadings -> {None, {"TOTAL", "BOXES OF 6", "BOXES OF 9",
>     "BOXES OF 20"}},
>  TableAlignments -> {Center},
>  TableSpacing -> {1, 3}
>  ]
> =====

That particular example is also know as the Chicken McNugget problem
(from the original sizes available for purchase of for McDonalds'
Chicken McNuggets). I guess the Delta Air publisher didn't want a

http://en.wikipedia.org/wiki/Coin_problem

Mathematica can compute this directly via FrobeniusNumber.

Table[Flatten[{d, ({s, n, t} /.
FindInstance[
6*s + 9 *n + 20*t == d && s >= 0 && n >= 0 && t >= 0, {s, n,
t}, Integers]) /. s | n | t -> ""}], {d, 1, 20, 1}]

Customary caveats:
(1) Generally a bad idea to start variable names with capitals.
(2) Always a bad idea if the variable is N, since that is a Mathematica
built-in function.

Daniel Lichtblau
Wolfram Research

```

• Prev by Date: Re: FileName Widget
• Next by Date: Re: Table for FindInstance solutions
• Previous by thread: Table for FindInstance solutions
• Next by thread: Re: Table for FindInstance solutions