[Edit: unfortunately, Jeff and I posted at almost the same time, so it looks like I am responding to his post and implying that it is too complicated for beginners, which I most assuredly am not
.]
I would suggest learning to walk before you run, and start with simple bivalue xy-chains. To find these, you can choose any bivalued cell (lets call the contents 'ab'). Then check if that cell "sees" (shares a group) another bivalue cell containing 'b', like bc. Then check if that cell sees another bivalue cell containing c, etc. etc. until you either find nothing else, or you find a cell that gets you back to 'a'. Then you have found a chain of cells which looks something like ab - bc - cd - ... - ef - fa. Now, you can remove all the a's from any cell which sees both the ab-cell and the fa-cell.
Candidate BUG grids usually make good practice grids for these simple bivalue chains. You can find a lot of them in
this thread.