
I've used the obvious checking for consistency in columns, rows, and boxes..
and then used pairs to remove from the same row or column
..eg r6c[6,8] implies r6c[2,4,5] can't be 6 or 8
and then used limited groups of three cells to remove impossible digits
..eg r8c[6,8,9] to remove digit 1 from r8c[1,2,5]
(I can't see 'x-wings' but then haven't used them before)
Any suggestions how to progress this with logic alone?.. that it's a sudoku program problem, I'm thinking suggests it can be solved with logic..