HM Dive is not in Soulsilver/Heartgold games. You might have it confused with Whirlpool.
Although it was restored to HM status in the Gen V games.
This Link has a list of the HMs in Soulsilver and where to find them.
Dive is not a HM in this game. Instead, if you want your Pokemon to learn dive, just go to the move tutor at the Battle Frontier. I got my Gyarados learning Dive by this method.