i am trying to find the same thing. I have found that Luxray can move them. I have 2 Pokemon that learned the strength and it still wont work so i am going to try to make shinx evolve to Luxray. I recommend trying that if you don't have shinx.
I believe you need to have the HM Strength
You need to steal the flag out of your friend's Secret Base underground, then go up to the PC.
once you earn a certain amount of gym badges you will be able to teach a special move to your Pokemon( which will show up in HMS and tms part of bag).
this isn't Google use your words like a big boy
With the HM move strength.
You teach a Pokemon strength.
You can put away the boulders once you've stolen at least 1 flag to get the bronze flags. The more flags you steal, the more boulders you can put away.
You can use it in most caves to move the big grey boulders out of your way.
You just need one of the Pokemon in your party to know the move Strength.
teach a Pokemon strength (HM 06) you can get it from the big tower thing next to solaceon town at the highest point from an elderly woman (there's 2 but talk 2 both)
HM04
teach it to a pokemon, then walk up to the boulder you want to use and press A
the three lake Pokemon will tell you where to move them by which way they float
You will need HM strength, which you can get in Rusturf Tunnel. To use it though you will need to beat Flannery in Lavaridge Town.
You use the HM you get in the lost tower you also have to have beaten the 6th gym, ok
Use Strength. It can be obtained at Olivine City in a building next to the Pokemon Center where there is a sailor inside. Teach your Pokemon Strength so that you can push aside big boulders.