private void solveGuess() {
		for (int index : emptySlots) {
			int nOption = tries.get(index);
			int value = maybe.get(index).get(nOption);
			sudoku.set(index, value);
		}
		if (!sudoku.validateField()) {
			for (int index : emptySlots) {
				Util.dprint("index " + index + ", " + maybe.get(index).size());
				if (index == emptySlots.get(emptySlots.size() - 1) && tries.get(index) == maybe.get(index).size() - 1) {
					Util.dprint("REACHED EDGE CONDITION");
					
				}
				if (tries.get(index) < maybe.get(index).size() - 1) {
					tries.put(index, tries.get(index) + 1);
					break;
				}
			}
			solveGuess();
		}
	}