After you defeat the mosdeep city gym and the team aqua (also in mosdeep city but only after you finished the gym) you can get dive from the guy in the house in the south-west of mosdeep
get rayquaza
You get Dive from steven not may.
you can find dive balls at the mossdeep city pokemart
You have to have a Pokemon in your party which know the HM Dive. Surf onto water then go to your party, select the Pokemon that knows dive, and click on Dive.
find it using dive
to get a heart dive
You have to have a poke'mon with dive.
Dive:Mossdeep CityWaterfall:Cave Of Origin
Use dive.
get a water Pokemon yhe TM dive and well dive under the water
Dive is not an HM in firered if you want a Pokemon to learn dive trade it to ruby, sapphire or emerald then take it back after teaching it the move.
You can catch it when you use dive.