Here is a video of me averaging 21.81 mph for 10kms on my morning commute on a mountain bike with a flat bar and stubby bar ends. 26 inch wheels with 1.5 inch slicks at 80psi. A 11-32 mountain bike cassette with a 44 tooth big ring. The gearing is all wrong for this kind of riding. The 13 was too small for much of the time and the 11 was too big most of the time. If I had a 12 tooth I think I could of averaged 23 to 24mph that morning.
You can do it on a 700C bike with a flat bar no problem. You just have to be willing to do some hard riding to get there.
If you want to know I can give you a sample of a week of 'training' I do.