It looks like you're new here. If you want to get involved, click one of these buttons!
3 weeks out is plenty of time to recover from a 20+ mile run if you are fit, healthy and have trained up towards that distance.
I couldn't tell you if it is enough time if you aggravate a niggle / injury that you are carrying. That is a risk that you will need to weigh up for yourself. I spent 3 - 4 weeks before my last marathon with an injury, wondering if I was going to be healed in time - it made for a long 3 weeks.