Making Change Using Dynamic Programming