Although it could be any of the above mentioned problems, I would suspect the coil first. When the insulation gets bad, the coil starts shorting out as the windings expand from heat. I would check the gas cap first to make sure it is vented, and then try a different coil.