Go back to Olivine City and give the medicine to Jasmine.
Then fight her at the gym.
clainwood
ponie
Beat the gym leader
with fighting type pokemon
you need a physic type
Go to mahogany town to beat pryce
you find him
Beat the fuchsia city gym leader.
you just go north of blackthorn city and beat the gym leader
beat the fifth gem leader than you get the Hm surf
After you beat Archer (The neo team Rocket Leader) the directer gives it to you
you get it at Cianwood city. Beat the leader (chuck) His wife outside will give you the HM.