protected void cutDeductively() {
		/*
		 * For each cell in the Sudoku
		 */
		for (int x = 0; x < this.sudokuSize; x++) {
			for (int y = 0; y < this.sudokuSize; y++) {
				/*
				 * Save the cell and cut it
				 */
				int save = sudokuGridStorage[y][x];
				sudokuGridStorage[y][x] = 0;
				/*
				 * Check if any other value than the original value is legal,
				 * the value can not be cut out.
				 */
				for (int i = 1; i <= this.sudokuSize; i++) {
					if (i != save && legal(y, x, i, sudokuGridStorage)) {
						sudokuGridStorage[y][x] = save;
						break;
					}
				}
			}
		}
	}