Simple is beautiful: AIroot
When solving sudoku puzzles by logic it is always based on the elimination of wrong candidate, at the end there is only one solution. A number can be eliminated from the possible candidates, if it causes the conflict, impossible situation, directly or after longer deduction chain. Examples about conflicts can be found from download & donate page. There are three kind of conflicts:
1. basic conflicts - there are only N-1
different candidates in N cell in the area
2. fish conflicts - when eliminating number from N rows/columns, it will disappear also from N+1 columns/rows.
3. unique conflicts - this pattern means multiple solutions, all numbers in the pattern exist exactly two times in every area, row and column. If there are only one candidate in the cell, any virtual candidate can be added.
The most of the sudoku puzzles can be solved by the techniques which cause conflict immediately. These kind of techniques are singles, hidden singles, block interaction, subset techniques, all fish type techniques and basic unique conflicts, BUG etc.
These conflict techniques must link when the hardest sudokus are solved by logic. So that, first we test a candidate and put it to a puzzle, then eliminating all candidates, which cause conflict in this situation. After that, we eliminate candidates, which cause conflict in the new situation and continue until no eliminations can be made or conflict exist.
I have named this universal technique as AIroot. So far, it has been able to solve all puzzles. The longer deduction links (deeper root) a puzzle requires to be solved, the more difficult it is.