Пустая угловая клетка приводит к противоречию, значит варианта не существует.
Можно еще быстрей - за один проход - не с угловых начинать закрашивать, а с соседних клеток для угловых (ибо они обязательно должы быть закрашены) - сразу получается однозначное раскрашивание.
Я так понимаю, для произвольного квадрата

раскраска либо единственна (для чётных

), либо вообще не существует (для нечётных

).