orion's imperfect sudoku solver

.. fill in the clues and click .
it only works on 'easy' and 'moderate' ones.
the examples are from the book
the ultimate sudoku challenge by will shortz.

the technique:
it doesn't do any Permuting; that is, it doesn't "try" something to see if it works out; it only makes moves it knows are right.
what are these moves ?
basically it starts off by filling in every square with all the possible numbers which could be in it.
then, it walks thru every square which has a definite number (ie only one possibility) and removes that number from the list of possible numbers for every square in the row, column, and 3x3 square of the original square.
so far so good. that is actually good enough to solve the 'easy' examples i have.
then, and this is slightly clever but not amazingly clever,
it looks at entire rows, columns, and 3x3 squares as a set and notices if there are any digits which are Not Possible for all the cells in the group except for one. If that's the case, it knows that that cell must be that number.
For example, if say the first cell in a row could potentially be any digit 1-9, but every other cell in the row has to be a digit 2-9, it knows the first cell is 1.
That's enough to solve the two 'moderate' examples i have.
But i'm out of ideas for solving the 'difficult' and 'very difficult' ones.
any suggestions, sudoku masters ?

i guess i need to do more puzzles by hand and see what else can be done.
hopefully it won't involve permuting, because that's a drag.