Просто предполагаем что Андреев соврал о том что он из Онеги. Получается Григорьев - Каргополь. Затем, понимаем что в если в Каргополе уже живет Григорьев, то первое утверждение Борисова ложное, тогда Борисов - Коряма. Григорьев действительно из Каргополя, тогда Данилов =/ Вельск. Если Данилов не из Вельска, тогда Андреев - Коряжма. Остается 2 города. Если Данилов =/ Вельск, то тогда Данилов - Онега, а Васильев - Вельск. Если бы мы в первом выбрали другой вариант, то все равно путем логических вычислений, мы бы наткнулись на противоречие.
x-4 во втором
x+3 в третьем
x+(x-4)+(x+3)=119
3x=119+4-3
3x=120
x=40
ответ: В первом было 40 учеников, во втором 36 и в третьем 43 ученика.
Проверка: 40+36+43=119