In the Safari Zone
no Pokemon knows all the hm moves!
Surf is HM #3. :-)
At the secret house of Safari Zone.
solar cave
Get the HM Surf then teach it to a pokemon.
You get HM Surf and surf there
You need a water Pokemon and the surf HM
Surf is a HM so you can teach it to multiple pokemon.
teach it the HM surf
with TM and hm's
its either the hm you get at the secret houde in the safari park or the one you get when you give the gold teeth (found in safari park near secret house) to the warden. teach it to a water Pokemon and press 'a' in front of water (you need a certain gym badge first though but you should have by the fuschia gym
go to celestic town enter in the cave talk to the woman and you have the hm surf