Пусть Илья имеет a конфет, Максим - b конфет, Вова - c конфет, а Леша - d конфет.
Так как каждый из мальчиков имеет либо 1, либо 2, либо 3 конфеты, то a, b, c, d могут принимать значения от 1 до 3.
Условие "Илья говорит: у меня конфет больше, чем у Леши" означает, что a > d.
Условие "Максим: ровно у двоих из нас по 3 конфеты" означает, что среди троих мальчиков двое имеют по 3 конфеты. То есть, b = 3, если один из b, c, d равен 3, то остальные должны быть равны 3, что противоречит условию задачи. Поэтому, b = c = 3.
Условие "Вова: у Леши не одна конфета" означает, что d > 1. Это дает нам два варианта: d = 2 или d = 3.
Условие "Леша: количество конфет у Максима и Ильи отличаются не более чем на 1" означает, что |a - b| <= 1. Подставим значение b = 3 и получим неравенство |a - 3| <= 1. Решим его:
a - 3 <= 1, a <= 4,
3 - a <= 1, -a <= -2, a >= 2.
Таким образом, a может быть равно 2, 3 или 4.
Теперь остается проверить возможные значения a, b, c, d, чтобы найти единственного лжеца.
1) Если a = 2 и d = 2:
Илья: 2 конфеты,
Максим и Вова: 3 конфеты,
Леша: 2 конфеты.
В этом случае никто не соврал, так что это неверное решение.
2) Если a = 3 и d = 2:
Илья: 3 конфеты,
Максим и Вова: 3 конфеты,
Леша: 2 конфеты.
В этом случае Илья сказал правду, Максим и Вова не соврали, а Леша соврал о том, что у него не одна конфета. Так что это верное решение.
3) Если a = 4 и d = 2:
Илья: 4 конфеты,
Максим и Вова: 3 конфеты,
Леша: 2 конфеты.
В этом случае Илья соврал о том, что количество его конфет отличается от Максима не более чем на 1. Так что это неверное решение.
Таким образом, верное решение задачи: у Ильи 3 конфеты, у Максима и Вовы по 3 конфеты, у Леши 2 конфеты, а лжец - Леша.