the best solution for this problem is to have a diagnostic check,
most of the time it will show a fault code/codes most garages can do this check and this should show the fault in my experience its the best and cheapest place to start.
diagnostic check costs between 40/70 pounds'
good look
mr m astley
March 2008