public static boolean solve_Sudoku(int[][] A) {
		if (!is_valid_Sudoku(A)) {
			System.out.println("Initial configuration violates constraints.");
			return false;
		}

		if (solve_Sudoku_helper(A, 0, 0)) {
			for (int i = 0; i < A.length; ++i) {
				simplePrint(A[i]);
				System.out.println();
			}
			return true;
		} else {
			System.out.println("No solution exists.");
			return false;
		}
	}