@Override
	public SolveStep getStep(Sudoku s) {
		for (int x=0; x<9;x++){//SCORRO OGNI BLOCCO
			SudokuBlock sb = s.getBlock(x);
			Freq[] freq = new Freq[10]; 
			for (int i = 0; i < freq.length; i++) freq[i]= new Freq();
			for (int r=0; r<sb.getSize();r++){
				for (int c=0; c<sb.getSize();c++){
					if (!sb.getCell(r, c).isSolved()){
						List<Integer> candidates =sb.getCell(r, c).getCandidates();
						for (Integer integer : candidates) {
							freq[integer.intValue()].add(sb.getCell(r, c));
						}
					}
				}
			}
			for (int i = 1; i < freq.length; i++) {
				if (freq[i].cells.size()==1){
					SolveStep ss = new SolveStep();
					ss.setMethod(this);					
					ss.setCell(freq[i].cells.get(0));
					ss.setValue(i);				
					
					return ss;
				}
			}
		}	
		return null;
	}