Well it depends on your version.
Generation 1 (Green, Red, Blue, Yellow): HM04 is in Fuchsia City. To get it you need to go through the Safari Zone and pick up the Warden's Gold Teeth. Whle you're there, continue through the Safari Zone and get to the (I think it's called) Secret Area, right in the middle of the Safari Zone. Here you will get HM03 Surf. Now that you have these two items, go into one of the houses east of the Pokemon centre and you will see the warden who will give you HM04, which when used on the rock in the right side of the room will give you a rare candy.
Generation 2 (Gold, Silver, Crystal): It's much easier in these games to get HM04 than in Gen 1. Go to Olivine City and go to the house west of the Pokemon Centre. in this house one of the two guys will give you HM04
Generation 3 (Ruby, Sapphire, Emerald): Again, very simple to get HM04. Go to either Rustboro City or Verdanturf Town and enter the cave (Rusturf Tunnel). Use Rock Smash on the rocks blocking the path through the cave and the dude will give you the HM
Generation 3 {Generation 1 Remakes} (FireRed, LeafGreen): I've never played these games, but as my sources say Fuchsia City for both these games and the original Generation 1, I have to assume that the same method is used in both. If I'm wrong I'm sure someone will come along and correct me.
Generation 4 (Diamond, Pearl): Oreburgh Mine is where you want to be for this one. I don't quite remember, and my sources say nothing about how to get it here, but I think you have to battle everybody in the mine, and I don't remember if you battle the Oreburgh Gym Leader, Roark or just talk to him, but you will get HM04 from him in the Mine one way or another.
Chat with our AI personalities
thats not a game
Go deep into the Safari Zone and find Gold Teeth, then give them to the Warden (The guy with the bad speech) and he will give you the HM4.
In Nimbasa city I believe it is the 3rd house from the pokecenter when you are at the pokecenter there is a sign right by the house.
You need to have the HM4 Strength, obtained in the lost tower near Solacean town You need to have the 5th Gym badge, obtained in Hearthome City
HM1 CUT HM2 FLY HM3 SURF HM4 STRENGTH HM5 FLASH HM6 ROCK SMASH HM7 WATERFALL HM8 DIVE --/ninjax/