Truman's decision hinged on the fact that if he had not done so, he was about to turn thousands of young civilians into dead soldiers in any kind of landing and occupation. I suppose he could have dropped one or two on a barely occupied Kuril island to get the point across and force peace talks. Maybe that would have worked? We'll never know.
I had this conversation with a relative the other day who didnt really understand just how bad it could have been, thats not to say it wasnt plenty bad enough of course.
The bombs dropped on Nagasaki and Hiroshima killed approx 50000 in each city (rough estimates from the time).
If the Allies had been forced to invade mainland Japan the death toll would have been in the millions and Japan would have needed a century to recover rather than decades.
Dont forget the Japanese Military had told its civilian population that the Americans were coming to rape and murder them, many believed them and threw themselves off cliffs or took poison.
The fact the first bomb didnt work shows that only a strike on a big city was going to work, even then it took two hits as the Military didnt believe the Americans had done it at first and it took a second strike to really make the Military throw in the towel (barely), even so it was a very close vote in cabinet at the time as the Military still wanted to continue the fight, if I remember correctly one of the Generals committed ritual suicide right there and then when he was ordered to surrender.
That would have been a problem as the Americans only had the two bombs ready and could not have repeated the operation a third time.
Think about it like this, the Americans could have dropped the bombs on Tokyo (pop over 3m in 1940) and Osaka (pop over 1m in 1940) if they had wanted to but instead they hit Nagasaki and Hiroshima due to them both being major manufacturing hubs.
It could have been so much worse with the possibility that the Japanese could have decided to carry on with the war anyway, if so I have no doubt the total dead would have been many millions.