Хотя бы один лжец в комнате есть, поскольку для любого рыцаря есть хотя бы один человек, имеющий тот же цвет глаз — сам этот рыцарь. Пусть в комнате x лжецов ровно (x — натуральное число). Заметим, что если у двух человек один и тот же цвет глаз, то они говорят либо оба правду, либо оба ложь. Значит, невозможна ситуация, когда у лжеца и у рыцаря глаза одного цвета. Разделим всех людей на группы. В одну отрядим всех лжецов, а рыцарей разделим yа группы по цвету глаз. Тогда в каждой из групп рыцарей ровно x человек — это следует из заявления любого из рыцарей этой группы. Если всего групп рыцарей n, получаем равенство (n + 1) · x = 30. Тогда количество лжецов x есть делитель 30. Кроме того, невозможна ситуация, когда цвет глаз у всех лжецов один и тот же — иначе они говорят правду. Значит, x > 1. Других ограничений нет: если x — делитель 30, отличный от 1, то всех людей можно поделить на 30/x групп по x человек в каждой (не запрещается и ситуация x = 30, при этом получится одна группа). Цвет глаз людей из разных групп пусть различен, а в каждой группе, кроме одной цвет глаз участников один и тот же. И пусть в этой особой группе все лжецы, а других лжецов нет. Условие при этом выполнено.
Ответ: 2, 3, 5, 6, 10, 15 или 30