I always have used just plain gas with a hand full of new nuts, 3/8 to 1/2 " size. Shake the tank good for a min. ever time you walk close to it. After a day or so any rust that was going to come out will be loosened up and dump out. Rest will come will couple rinses. Vinegar is acidic and may help work on the rust a little more, don't know - never tried it. Vinegar works good on removing rust on hand tools so should work in a gas tank.
Depending on how bad it is that might not get it. I have let them sit filled with battery acid before overnight, but if they're that bad I always coat them with something like Red Kote after, because they will rust up quick after a battery acid bath if you don't. The coating seals the inside of the tank so that it won't rust any more, and anything that is still on the walls of the taànk won't penetrate the coating and contaminate the fuel again
I second the vinegar like 637 said. Not so harsh a "chemical" as other methods. Used to use muratic acid but that stuff is terrible harsh.
I don't use the nuts and shake method. With just a slight slosh around every 20 minutes or so to make sure the entitire inside of the tank stays wet. That way I can be working on something else. Sounds like your tank is bad enough to need a couple of doses and leaving it soak overnight won't hurt a thing.
You will have to coat the inside once its been derustified or you'll be right back where you started. I recommend POR-15's version. Its called U.S. Tank. Makes the tank look galvanized inside after use and I've not had one fail after 15+ years even with all this wonderful ethanol.
"DERUSTIFIED" that's my new favorite word! We should have that one added to Webster. I agree with the vinegar treatment and the metal nuts bolts etc. are a good idea to get any lost flakes and such. As you stated you have flakes in the bottom they came from somewhere so knocking any others loose will be good for the long haul. They sell many tank treatments out there most are pretty similar, just make sure to plug the tank outlet and coat the entire inside of the tank. Good luck!
I put a couple cups full of clean small gravel in them (gravel from the side of the road works good after you wash it) and bungee strap it fast to the rear wheel,jack up the rear of the tractor,put it in gear and let it spin for 10-15 minutes.Dump it out Then stick the garden hose in and let it flush the dirt out.Works really good.
I tried vinegar before and it will cause it to flash rust a bit if it's not neutralized with something.Also tried Muriatic acid and it works Beautifully (takes Every spec of rust out even the heavy flakes but doesn't harm paint) but I didn't have anything on hand to neutralize it.Within 5 minutes of flushing it out it flash rusted and was worse than I started with.I should of had a box of Baking soda on hand.
I just use the gravel strapped to the wheel method now.Takes a bit more time but almost the same results.
POR-15 tank liner is AWESOME stuff but a bit pricey and hard to find locally (at-least it is here)
Problem with everything is that once you get the rust out you need to keep the tank full all the time or the rust will come back. I highly recommend coating the tank afterwards to prevent it in the future