got exactly the same problem on mine,not that its on the road at the mo.
The problem is the fuse box,there are 2 white relays in the box that control
the headlights mine have over heated and made bad connections inside
the fuse box i changed the relays twice and its fixs the problem for a
month or so then it starts messing about again.
Ive yet to fix the fuse box so i cant give you any idea on cost.
Hope thats some help.
Cheers