SmtC: Show me the Code
Ole Peter Smith
Instituto de Matemática e Estatística
Universidade Federal de Goiás
http://www.olesmith.com.br

Generation
O bem que a violência faz, é - sempre - passageiro.
O mal que ela faz, é permanente.
Mahatma Gandhi

Eliminate elements by Unicity

  1. Zero each element and recalculate Topology.
  2. Topology Length one in Element? Remove.
Python Listing: Unique.py.
from random import *


class Sudoku_Topology_Unique_Remove(
    ):
    
    ##!
    ##! Remove (zero) randomly selected cell.
    ##! For puzzle generation.
    ##!
    
    def Topology_Unique_Remove_One(self,topology):
        removes=self.Topology_Unique_Removes(topology)

        removed=False
        if (len(removes)>0):
            n=randrange(0,len(removes))
            remove=removes[n]
            r=remove[0]
            s=remove[1]
            
            removed=True
            self.S[r][s]=0
        

        return removed
    
    def Topology_Unique_Removes(self,topology):
        removes=[]
        for r in range(self.M):
            for s in range(self.M):
                if (self.S[r][s]>0):
                    old=self.S[r][s]
                    
                    self.S[r][s]=0
                    rtopology=self.Topology_Initial()
                    self.S[r][s]=old
                    
                    if (len(rtopology[r][s])==1):
                        #print (r,s,self.S[r][s],rtopology[r][s])
                        removes.append([r,s,self.S[r][s]])
        return removes
Messages:
0 secs.