Понятно, что п. а) задачи вытекает из п. б), но сам по себе п. а) может быть решен стандартным рассуждением (метод бесконечного спуска). Пример такого рода см. здесь: Задача 5215 // Математика в школе. 2011. № 8. С. 75. Как правильно заметил
Shadow, в процессе спуска возникает классическое уравнение

(Ljunggren’s equation), что позволяет оборвать спуск. Однако, насколько мне известно, Ljunggren’s equation не имеет простого элементарного решения.
Что касается п. б), то здесь нужно решать уравнение сразу в рациональных числах. Можно показать, что утверждение о том, что уравнение

имеет в рациональных числах только тривиальные решения, эквивалентно тому, что

не является
конгруэнтным числом. В свою очередь, последнее тоже можно доказывать в более общем виде --- вместо

взять любое число

, где

--- простое число. То, что такие числа

не являются конгруэнтными, впервые заметил, по-видимому, A. Genocchi (примерно 1870-е годы). Доказательство элементарное и тоже проводится методом бесконечного спуска.
Способ решения п. б), предложенный
ex-math, тоже, разумеется, правильный, но, на мой взгляд, там кухня гораздо более тонкая.