int makeChange(int amount, int[] coins) {

		int[] solutions = new int[coins.length];
		int[] solutionsForAmount = new int[amount + 1];

		solutionsForAmount[0] = 0;

		for (int i = 1; i <= amount; i++) {

			for (int k = 0; k < coins.length; k++)
				solutions[k] = -1;

			for (int k = 0; k < coins.length; k++) {
				if (coins[k] <= i) {
					solutions[k] = solutionsForAmount[i - coins[k]] + 1;
					System.out.println("Amount is " + i + " Coin Used "
							+ coins[k]);
				}
			}

			solutionsForAmount[i] = -1;

			for (int k = 0; k < coins.length; k++) {
				if (solutions[k] > -1) {
					if (solutionsForAmount[i] == -1
							|| solutionsForAmount[i] > solutions[k]) {
						solutionsForAmount[i] = solutions[k];
						System.out.println("solutions["+k+"] " + solutions[k]);
					}
				}
			}
		}

		return solutionsForAmount[amount];
	}