There is no code 3, just 2 digit codes and no "0's"
After engine is warmed up and idling
Unplug IAC Valve, it will close and RPMs should drop to 500 or so, engine may even stall either is GOOD, it means no vacuum leak(but also means the computer was setting the high idle??, which could be because of low temp, 120deg, on ECT)
If idle stays high then there may be a vacuum leak OR someone has messed with the anti-diesel screw on the throttle linkage, looks like an "idle screw", its not, can't use an idle screw with fuel injection, everyone knows this, lol
With IAC Valve still unplugged, and high idle, turn the anti-diesel screw Counter Clockwise(unscrew), 1/2 a turn, if RPMs start to drop then keep turning until engine is barely running, anti-diesel screw is now reset, done, plug IAC Valve back in and idle should go up to 650 or so
If turning the anti-diesel screw did NOT lower RPMs then turn it back that 1/2 turn, its not the problem
Could be vacuum leak causing the higher idle