Background
Similar to puzzle 49, the coin change problem is a classic problem in computer science. The problem is defined as follows: given a set of coin denominations and a target amount, find the minimum number of coins needed to make the target amount.