One word: Speedwork!!!
I was running 42/43 mins. Then I jopined a club (but you can do it on your own of course) and within 3 months - YES - 3 months - I got down to a 39. Within a year it was 36 and 2 years a 35.
I think the best session for a 10k is 6x1k with a 2 minute rest. If you do under 4 mins on your first set you'll be doing well, but (as a 44 minn 10k runner now) you'll be averaging under 3:40/k within 5 sessions.
Also, do some really short stuff. I try to get in some 200mx20 with 45second rest. It's Lactic Acid city, but it keeps you on your toes, and your lungs "big" too