Просто предполагаем что Андреев соврал о том что он из Онеги. Получается Григорьев - Каргополь. Затем, понимаем что в если в Каргополе уже живет Григорьев, то первое утверждение Борисова ложное, тогда Борисов - Коряма. Григорьев действительно из Каргополя, тогда Данилов =/ Вельск. Если Данилов не из Вельска, тогда Андреев - Коряжма. Остается 2 города. Если Данилов =/ Вельск, то тогда Данилов - Онега, а Васильев - Вельск. Если бы мы в первом выбрали другой вариант, то все равно путем логических вычислений, мы бы наткнулись на противоречие.
sin 20 = cos 70
cos80·sin80·cos70·sin70 = 0.25 cos50·cos70
0.5sin160 · 0.5sin140 = 0.25 cos50·cos70
0.25 sin (90 + 70) · sin (90 + 50) = 0.25 cos50·cos70
0.25 cos50·cos70 ≡ 0.25 cos50·cos70
тождество доказано