Hi, eleven, I almost missed your response.
I read lerxst's approach when
dobrichev gave the link of lerxst's blog in the other forum. And I wrote lerxst for a little individual discussion. Here is my understanding of it. Lerxst, Please correct me if I am mistaken.
In his blog, Lerxst's approach is very straightforward, to join 9 row-tables. The joins are non-equi joins, meaning there is additional need and mechanism to specify the inequality constraints such like r2.c1 != r1.c1 and r2.c1 !=r1.c2, etc. Such constraints comes from the very basic Sudoku rule. Lerxst's current improvement is that he includes columns, so he need 18 tables now. (But, lerxst finds it is not helpful to include 3X3 blocks.) I am not sure if he treat these 18 tables equally, but I guess, the backbone of the approach is based on non-equi joins (as well as equi-joins since he added the 9 column tables).
The difference sounds quite trivial in some sense. My approach, if understood as joins of 27 tables, is made of natural joins ( i-e, equi-joins) only. There is no non-equi joins, so you do not need to explicitly specify Sudoku rule, which are already re-enforced at the time the 27 tables are built.
I regard Lerxst's approach (particularly his original 9 row-table version) as the mid-way between a cell-based non-equi joins and the unit(or group) based natural joins. A cell-based join approach, ("Sudoku Solver in SQL" Taro YABUKI and Hiroshi SAKUTA, a artical in Japanese with english abstract), having to specify inequality constraints like A!=B, appears to me very much a database equivalent of traditional cell-based searching approach. While the non-equi join's driving force to solve a Sudoku is the direct application of the basic Sudoku rule, the driving force of the unit-based natural join is the formation of "cogwheel circles", which I (partially) find more generic, and which I use to direct the ordering heuristic.
Nevertheless, I suspect, apart from the ordering of joins, lerxst's and my approaches will in general degrade performance on puzzles with fewer givens. However, I "slyly" avoid this degradation problem by including preprocessing based on other simpler logic. Since I think equality are stronger constraints than inequlality, I "regard" my appraoch as logic approach, therefore, I, without hesitation, include logic preprocessing before the main method is used. The preprocessing includes: subsets, and swordfish typed logic. With these, most 17s are solved or at least are degraded, so my "natural join" algorithm never has problems with them. As for those truly logically hard puzzles, the preprocessing never helps, so the natural join is the only solving mechanism.
Just out of curiosity, I turned off preprocessing and use the natural join directly on some 17 givens, I find
1. it is much slower; and some puzzles are thought harder than those truly hard ones
2. But the majority are OK puzzles, considered less harder than those logically hard puzzles.