I would say 18.
Honestly, if my son was dating a 21 year old girl when he was sixteen, poopy would have hit the fan, in a big way. I would have NOT been pleased about that. I'm sorry, but sixteen is a child, especially for a boy. Nope, I would not have taken that lightly, as a mom.
A five year age difference makes a HUGE difference when the people are 16 and 21. If they were 36 and 41, it would make absolutely no difference at all.