ANSWER 1
There is not an HM for dive. It can be learned by a dewgong at level 45.
ANSWER 2
You find it in Sanzanami town.The girl next to the first house gives it to you after singing her song about the sea.
ANSWER 3
You get HM Dive in Undella Town when you talk to a girl next to the villa
Chat with our AI personalities
There is no HM for Dive in SoulSilver, but you can get it by transferring a Pokemon who knows dive into SoulSilver the Pal Park. but you can get dive as a HM in Pokemon black and white but not in soulsilver,heartgold,platinum,diamond,and pearl
After you defeat N and Ghetsis, go to Undella Town and a girl will give you the HM Dive.
You have to go to Undella and get the HM dive. Then you can dive (:
Gyarados cannot learn Dive by itself from leveling and must learn it from the HM Dive which is not available in Pokemon Platinum. The HM for Dive is only available in Pokemon versions; Ruby, Sapphire, Emerald, White, Black, White2, and Black2
It's not an HM in Black and White.