toms448, a FORTRAN77 code which implements ACM toms algorithm 448, which determines the number of partitions of an integer into parts restricted to a given set.
This routine can be used to solve various problems in counting the number of ways of making change with a given set of coin denominations, for instance.
The text of many ACM toms algorithms is available online through ACM: http://www.acm.org/pubs/calgo or NETLIB: http://www.netlib.org/toms/index.html.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
toms448 is available in a FORTRAN77 version.