P0300 is a random multible misfire detected. P0316 is misfire detected on startup (1st 1000 revs.) I would recommend getting or borrowing a powertrain and Emission Control shop manual and follow the diagnostic routine for the codes mentioned. As to what could cause the codes or misfires, there are a number of things that could be the cause. It possibly could be a bad coil, plug, boot, fuel injector, or even fuel pump. It could also be a problem with the wiring harness for those coils. The easiest and quickest way to diagnose the problem is to follow the routine in the shop manual. Fixing the problem should be easy. Finding it will take a little more effort.