I took the 3 black relays out and they were covered in lime scale and grime.
Cleaned them up and it fired straight up.
Not had a problem since.
Try the starter motor relay.vvin the under bonnet fuse box. Mine goes through stages of working and then not working. Take it out, check and clean any corrosion off. Tap it agains a hard surface a few times. Sorts mine out for a while usually.