private boolean nakedSingleSolver() {
		
		boolean solvable = true;
		while (nakeds.size() > 0 && solvable) {
			
			solvable = false;
			int i=0;
			
			while (i < nakeds.size()) {
				NakedCandidates candidate = nakeds.get(i);
				if (candidate.values.size() == 1) {
					nakeds.remove(i);
					board.setValue(candidate.x, candidate.y, candidate.values.get(0));
					removeAffectedCandidates(candidate);
					solvable = true;
				} 
				else { i++; }
			}
		}

		return solvable;
	}