public static void solve(Board b) {
		// Set up possibilities list
		List<List<List<Integer>>> poss = new ArrayList<List<List<Integer>>>();
		updatePoss(poss, b);

		// Find values
		// Find value using only possibility
		boolean found = true;
		while (found) {
			found = false;
			System.out.println("Finding");
			for (int x = 0; x < 9; x++) {
				for (int y = 0; y < 9; y++) {
					List<Integer> list = poss.get(x).get(y);
					if (list.size() == 1 && b.get(x, y) == 0) {
						b.set(x, y, list.get(0));
						updatePoss(poss, b);
						found = true;
					}
				}
			}
		}

		System.out.println("bts");
		
		if(!b.isSolved()){ 
			backtrackSolve(b);
		}
	}