I would normally say hydrochloric acid. You need to be excessively careful with this, as it can cause significant injury.
The strength sold for cleaning masonry and adjusting swimming pool pH is diluted about 20:1. First drain any antifreze and rinse well internally (cold motor), then determine the volume of water your cooling system holds by filling and burping it, one pint at a time. Drain 1/20 this amount, and make it up with acid.
Now run the motor until hot and the thermostat is fully open. Let it cool and repeat. Now when it's only warm to touch, carefully "crack" the lower radiator hose and drain with a funnel and bucket.
Once the flow is only a drip, carefully remove the radiator, hold upside down with top hose removed (cap still on) and flush clean with copious amounts of water - then remove the cap and flush some more. Rinse any splashes onto the bodywork immediately.
Now remove the thermostat housing, and if possible the block drain plug. Blast away with the regular hose (not pressure washer) through the head, to reverse flush all the sediment that's been loosened, again taking care not to allow contaminated water/sludge to remain on the body. After a bit you might even pull off the water pump to see how much more can be flushed out...
Depending on how crudded-up the block is, you might want to repeat the whole process, or even try it again with 1/10 of the cooling water replaced by acid. The main thing would be not to leave it full of acid for a week! At the completion of all flushing, buy or improvise an uper hose filter and expect to change the coolant within a fortnight as it neutralises residual acid and loosens more rubbish.