Pretty much any water type pokemon, plus zigzagoon, bidoof, mew, and a few others, but they will not learn this move naturally. It is a HM (Hidden Machine) that can only be obtained after completing different events. (Things you have to do differ by game and/or generation.
The most easiest way to get a Pokemon that can surf is get a Zizagoon,it can learn surf.
Surf to an island
Surf Right of Lilycove
Any water Pokemon besides magikarp and also linoone can learn surf as well.
i think if you have a gameboy Pokemon game you might be able to transfer it to your ds{ the slot for gameboy games is at the bottom of your ds}
Try to surf you may find it
surf
At the secret house of Safari Zone.
hach an egg or surf
You have to surf from LILYCOVE city to the right
You have to surf from either Mossdeep or Sootopolis.
He Doesnt.