Было фиолетовых < синих < серых. Стало серых < синих < фиолетовых.
Все три волшебных были серыми, а стали фиолетовыми.
Фиолетовых было x, синих x+1, серых = синих + 2 = x + 3
x + x + 1 + x + 3 = 100
3x = 96
Фиолетовых x = 96/3 = 32, синих 33, серых 35.
3 волшебных галстука превратились из серых в фиолетовые.
Стало серых 32, синих 33, фиолетовых 35.
При всех остальных вариантах получается нецелое количество галстуков,
или каких-то, например, синих, столько же, сколько других.
Поэтому это решение единственное.