I have been best friends with a guy for almost 3 years, we have had a few flings and finally got together at the start of October. Unfortunately it's a LDR with me in another country and we go about 6 weeks without seeing each other, however message pretty much all day and then call in the evenings. He cheated on me a few weeks in (there was a rough patch, I didn't think I was ready for it, left him then we got back together but he was spending time with another girl after this - she told me after he chose me over her). I forgave him and he promised this would never happen again. However 2 weeks after, he exchanged pictures and then slept with his ex (a very troubled and manipulative person who said she was suicidal and blackmailed him into going to see her almost every night). They only did it the once - she was the one who instigated it, he says he felt terrible about it afterwards, and even though she kept flirting and sending more suggestive messages he always refused that stuff, however continued to spend time with her because of her depression and him being the only friend she had.
The same week as he slept with her, another friend of his sent him some pictures, which he responded to and they had a conversation about if they would like to sleep together, however he says he ended that conversation abruptly and couldn't do it as he suddenly realised what he's been doing.
We used to be very sexual even just in talking, but just before the second cheating incident we hadn't been due to personal circumstances. He says this led him to become greedy, and being in a LDR he obviously wasn't getting the physical care he needs.
I found out about this 5 days ago, 5 weeks after it happened. My world has collapsed but he says he has never loved anyone like me, and has deleted all his social media so he can't contact or be contacted by anyone as in, he won't have any way to do this again.
He is making an effort to change, and I do love him, but should I stay with him?