im sorry to tell you this but it generally is the engine control unit circuit board and simply reprogramming doe'nt fix it you will need to replace it,if you switch the engine off wait five minutes and start the car and it drive s fine then it is more likely the ecu,thanks craig.