The coin changing problem is a known problem in the field of algorithms and a famous example in Greedy Algorithms which is one of the good ways for a making a good coin change. The problem states that "given a set of coins with several values, it is required to make a change using those coins for a particular amount of cents using the minimum number of coins".
As we mentioned earlier, a greedy algorithm solution is known which is, in fact, how millions of people change money every day. That is, start chaning with the largest coin available until the remaining amount to change is less than the largest coin value, then start changing with the next possible coin(the coin with the lower value). Continue with repeated changing until there are no more cents left to change.
Below is the VB.NET implementation of a simple coin changer using the above algorithm: http://www.developersource.net/ArticlePage.aspx?ID=11