А Х будет всегда примитивным элементом? И можно ли всегда последовательно строить поля( искать его элементы) так как я предложил?
Мне какбы нужен алгоритм поиска этих элементов.
Для того, чтобы корень неприводимого полинома, с помощью которого задается поле, был примитивным элементом, необходимо и достаточно, чтобы этот неприводимый полином сам был примитивным, т.е.

должно быть наименьшим показателем, при котором

делится на этот полином.
О том как строить такие полиномы можно почитать в первом томе монографии Лидла и Нидеррайтера "Конечные поля".
Впрочем, если вы задаете поле с помощью неприводимого полинома, не являющегося примитивным, найти в нем примитивный элемент совсем не сложно. Достаточно возвести "подозреваемого" во все степени с показателями

, где

пробегает все простые делители

. Учитывая, что бинарный алгоритм возведения в степень по модулю полинома над

пишется очень просто и работает очень быстро, это не проблема. Чтобы элемент был примитивным, нужно чтобы при этих возведениях ни разу не получилась 1.