I had a very similar problem with mine not long ago, turned out to be the lambda sensor. Like mike says monitor the reading from the front lambda and it should pulse up and down from about 50mv to 850mv (averaging around 450-500).
The best thing to do if you can get your hands on a diagnostics tool, is take it for a drive and data log the readings from all the engine sensors. Then you will be able to spot the problem a lot easier.
If you can't borrow a diagnostics tool I would recommend something like this one below. It'll save you fortune in time and un-necessary parts.
http://www.ebay.co.uk/itm/OP-COM-OPCOM- ... 648wt_1110
Good Luck :thumbup: