It works by using a simple logic based on techniques such as:
1. Line scanning
2. Column scanning
3. Square scanning
Works extremely fast (much faster than recursive functions). but the solution is not always guaranted. It could work flawlessly by implementing other ways of possibility creation techniques such as:
1. X Wing
2. Naked Pair
3. Naked Triple
etc..