Wally's dad gives it to you after getting the 5th badge.
Use the hm surf
in petalburg city near the Pokemon gym a small cottage
in the safari zone
talk with steven in the MOSSDEEP
There isn't anywhere els you can find surf every HM is in one spot hope that helps :)
You need to get the hm cut then teach it to a grass Pokemon
At the secret house of Safari Zone.
Surf is HM #3. :-)
there is no dive HM in DP but the water related ones are surf and waterfall
Wally's Dad has the HM he lives in a house in petalburg city next to the gym.
you have to beat your dad's gym and then go talk to Wally's parents, who gives you the HM surf
by going to lilycove and talking to the move deleter