Your teacher might have rejected the use of unless because, as Oxford Learners' Dictionary explains,
Unless is used to talk about a situation that could happen, or something that could be true, in the future.
If you know that something has not happened or that something is not true, use if… not:
- If you weren't always in such a hurry (= but you are), your work would be much better.
Your work would be much better unless you were always in such a hurry.
The rule that says unless = if... not does not always work, they are not always interchangeable. BusyTeacher explains it particularly well:
This explanation is a good introduction to unless-clauses, but it is not the whole story. For example, the following two sentences are not equivalents.
- If I don’t win the contest, I will be disappointed.
- Unless I win the contest, I will be disappointed.
The latter sentence sounds strange, as if winning the contest is the only thing that will keep that person from being disappointed, which brings us to the exception to the unless-rule.
This rule might not respected by all, which is why your teacher might have considered the use of unless wrong:
Unless-clauses are not used for ordinary cause and effect relationships. By using “unless” in a clause, the speaker is implying that the circumstances in the unless-clause are not very likely. The event in that clause is the ONLY circumstance under which the result clause will happen.
This makes your sentence with unless perfectly valid! Reducing the price is the ONLY circumstance under which the result clause could have happened.
However, I would certainly go for the option with if ... not, which is much more common to express this. Though Unless we had reduced the price, no one would have bought it seems grammatically correct, it does sound more awkward then If we had not reduced the price, no one would have bought it.