Okay, so I followed the chat. Anish, the Op, seems to be claiming that "last day" means yesterday in Indian English.
In general, Last day has a religious meaning which I did not know till now. But as a user of Indian English (If there is such thing as Indian English which is very different from native English), I have been using "last day" to imply the following meaning.
The last time which should be implied by a day a particular action happened.
For example: The last day, I watched a movie was 6 months back.
Generally, last day can be yesterday, day before yesterday or 1 year before yesterday. Now, I would not say "last day" to imply "yesterday" (although I assume yesterday could be an option). If something happened "yesterday", I would say it happened yesterday. For this particular example I would have gone with:
I have bought a book yesterday from an online site.
Now someone may ask why I would go with yesterday. Well the answer is, no way a speaker would want his meaning to be unclear to a listener. The listener might ask,
Last day means when? Yesterday? Or any other day?
So, if yesterday is the case, it would be said yesterday, otherwise the last day is fine with me.
Actually, its quite same with the last time except the fact the last day signifies a whole day something happened, not say for 2 hours IMHO. But I guess natives use the last time for a whole day too. However, according to me, Indians go with the last day often.
"You cannot/could not but"is used to show that everything else is impossible except the thing you are saying. eg:" What could he do but help her" (that was the only thing possible). So , "In that situation I couldn't but sign the contract.", in my opinion is correct.
Best Answer
In general "superhuman" is probably the best choice.
In the example given, "unquestionable loyalty" probably describes him better. But that would not be "superhuman".