Sudoku Algorithm 4

Hidden Single

Hidden Single

"In a cell group that makes up House, if it is the only cell that has a certain digit N as a candidate, that cell is determined to be the digit N".

In the example on the left, set X=4.


Example

Hidden Single

The digits displayed in red of each cell is unique in one of row/column/block house, and it is determined.

...6.83....7..45..6..73.428.6.....13..4...6.....3..2.7518.2..3.4.3..6...296...7..

Hidden Single C# program

public class SimpleSingleGen: AnalyzerBaseV2{
    public bool HiddenSingle( ){
        bool  SolFond=false;
        for( int no=0; no<9; no++ ){
            int noB=1<<no;
            for( int tfx=0; tfx<27; tfx++ ){
                if( pBDL.IEGetCellInHouse(tfx,noB).Count()==1 ){
                    SolFond=true;
                    var P=pBDL.IEGetCellInHouse(tfx,noB).First();
                    if(P.FreeBC==1)  continue;
                    P.FixedNo=no+1;             
                    if( !MltSolOn )  goto LFond;
                }
            }
        }

        LFond:
        if(SolFond){
            .
            . (Solution report code)
            .
			return true;
        }
        return false;
    }
}