3

This question was proposed in an Elementary number theory textbook I own. The question stated for the conditions needed such that $x^x \equiv c\pmod p$, where $p$ is a prime. I'm really not sure how to begin. I went through several examples to get some intuition, but even in some pretty simple examples, I couldn't formulate any methods, I obtained solutions only through guesswork, at times, I wasn't even able to find any solutions. Perhaps it is needed to use FLT and order properties, but I haven't been able to follow through. Does there always exist a solution to $x^x \equiv c\pmod p$? How does one find the solution?

Any help/feedback is appreciated

Kenta S
  • 16,151
  • 15
  • 26
  • 53
  • Be careful! The case of ell matters in FLT (Fermat's Last Theorem) vs FlT (Fermat's little Theorem). – user10354138 Aug 04 '20 at 00:42
  • 1
    @user10354138 I think it should be FARUIDLT (Fermat's actually really useful inappropriately dubbed "little" theorem). Unfortunately, that's a wee bit cumbersome to write out even as an initialism. – Daniel Fischer Aug 04 '20 at 13:21

3 Answers3

4

Hint: By Fermat's little theorem, we have $$ \begin{cases} x \equiv a \pmod p\\ x \equiv b \pmod {p-1} \end{cases} \implies x^x \equiv a^b \pmod p $$ for any $a \neq 0$.


For any $c \not \equiv 0 \pmod p$, we can write $c \equiv a^b \pmod p$ for some $1 \leq a \leq p-1$ and $0 \leq b \leq p-1$. By the Chinese remainder theorem, we can necessarily find a number $x$ for which $x \equiv a \pmod p$ and $x \equiv b \pmod {p-1}$.

More specifically, if we take $x = pb - (1-p)a$, then we find that $$ x = pb - (1-p)a \equiv 0\cdot b - (-1) \cdot a \equiv a \pmod p\\ x = pb - (1-p)a \equiv 1 \cdot b - 0\cdot a \equiv b \pmod{p-1}. $$ Thus, we find that $x = pb - (1-p)a$ will satisfy $x^x \equiv c \pmod p$.

Ben Grossmann
  • 225,327
1

Not answer, only demonstration of using multiplicative order, discrete logarithm and chinese remainder theorem for solving this problem.

gp-code for compute solutions:

xxp()=
{
 forprime(p=3, 20,
  for(c=0, p-1,
   X= [];
   for(a=1, p-1,
    m= Mod(a,p);
    h= znorder(m);
    k= znlog(c, m, h);
    if(k,
     x= chinese(Mod(k, h), Mod(a, p));
     X= concat(X, [x]);
    )
   );
   if(X, print("("p", "c", "X")"))
  )
 )
};

$(p,c,x)$:

(3, 2, [Mod(5, 6)])
(5, 2, [Mod(17, 20), Mod(3, 20)])
(5, 3, [Mod(7, 20), Mod(13, 20)])
(5, 4, [Mod(2, 20), Mod(18, 20), Mod(9, 10)])
(7, 2, [Mod(16, 21), Mod(38, 42), Mod(11, 21), Mod(40, 42)])
(7, 3, [Mod(31, 42), Mod(5, 42)])
(7, 4, [Mod(2, 21), Mod(10, 42), Mod(4, 21), Mod(26, 42)])
(7, 5, [Mod(17, 42), Mod(19, 42)])
(7, 6, [Mod(3, 42), Mod(33, 42), Mod(13, 14)])
(11, 2, [Mod(101, 110), Mod(39, 110), Mod(73, 110), Mod(107, 110)])
(11, 3, [Mod(68, 110), Mod(36, 55), Mod(4, 55), Mod(27, 55), Mod(72, 110), Mod(84, 110), Mod(96, 110), Mod(53, 55)])
(11, 4, [Mod(2, 110), Mod(14, 55), Mod(26, 55), Mod(38, 55), Mod(28, 110), Mod(106, 110), Mod(74, 110), Mod(42, 55)])
(11, 5, [Mod(24, 110), Mod(3, 55), Mod(37, 55), Mod(16, 55), Mod(6, 110), Mod(62, 110), Mod(8, 110), Mod(9, 55)])
(11, 6, [Mod(79, 110), Mod(61, 110), Mod(7, 110), Mod(63, 110)])
(11, 7, [Mod(57, 110), Mod(83, 110), Mod(51, 110), Mod(19, 110)])
(11, 8, [Mod(13, 110), Mod(17, 110), Mod(29, 110), Mod(41, 110)])
(11, 9, [Mod(46, 110), Mod(47, 55), Mod(48, 55), Mod(49, 55), Mod(94, 110), Mod(18, 110), Mod(52, 110), Mod(31, 55)])
(11, 10, [Mod(35, 110), Mod(105, 110), Mod(95, 110), Mod(85, 110), Mod(21, 22)])
(13, 2, [Mod(145, 156), Mod(149, 156), Mod(59, 156), Mod(115, 156)])
(13, 3, [Mod(28, 156), Mod(16, 39), Mod(56, 78), Mod(32, 156), Mod(20, 156), Mod(35, 39), Mod(10, 78), Mod(76, 156)])
(13, 4, [Mod(2, 156), Mod(43, 78), Mod(58, 156), Mod(46, 156), Mod(23, 78), Mod(50, 156)])
(13, 5, [Mod(93, 156), Mod(5, 52), Mod(45, 156), Mod(111, 156), Mod(47, 52), Mod(63, 156)])
(13, 6, [Mod(41, 156), Mod(97, 156), Mod(7, 156), Mod(11, 156)])
(13, 7, [Mod(119, 156), Mod(19, 156), Mod(85, 156), Mod(89, 156)])
(13, 8, [Mod(15, 156), Mod(31, 52), Mod(123, 156), Mod(33, 156), Mod(21, 52), Mod(141, 156)])
(13, 9, [Mod(80, 156), Mod(29, 39), Mod(4, 78), Mod(136, 156), Mod(124, 156), Mod(22, 39), Mod(62, 78), Mod(128, 156)])
(13, 10, [Mod(106, 156), Mod(17, 78), Mod(110, 156), Mod(98, 156), Mod(49, 78), Mod(154, 156)])
(13, 11, [Mod(67, 156), Mod(71, 156), Mod(137, 156), Mod(37, 156)])
(13, 12, [Mod(54, 156), Mod(69, 78), Mod(18, 52), Mod(6, 156), Mod(150, 156), Mod(34, 52), Mod(75, 78), Mod(102, 156), Mod(25, 26)])
(17, 2, [Mod(121, 136), Mod(190, 272), Mod(22, 272), Mod(210, 272), Mod(58, 272), Mod(59, 136), Mod(111, 136), Mod(10, 272), Mod(130, 272), Mod(182, 272), Mod(14, 272), Mod(117, 136)])
(17, 3, [Mod(241, 272), Mod(141, 272), Mod(159, 272), Mod(211, 272), Mod(27, 272), Mod(215, 272), Mod(165, 272), Mod(201, 272)])
(17, 4, [Mod(2, 136), Mod(156, 272), Mod(21, 68), Mod(124, 272), Mod(244, 272), Mod(228, 272), Mod(110, 136), Mod(94, 136), Mod(180, 272), Mod(164, 272), Mod(12, 272), Mod(47, 68), Mod(252, 272), Mod(66, 136)])
(17, 5, [Mod(37, 272), Mod(209, 272), Mod(91, 272), Mod(143, 272), Mod(231, 272), Mod(147, 272), Mod(233, 272), Mod(269, 272)])
(17, 6, [Mod(207, 272), Mod(243, 272), Mod(193, 272), Mod(109, 272), Mod(197, 272), Mod(249, 272), Mod(267, 272), Mod(167, 272)])
(17, 7, [Mod(139, 272), Mod(175, 272), Mod(261, 272), Mod(177, 272), Mod(265, 272), Mod(45, 272), Mod(199, 272), Mod(99, 272)])
(17, 8, [Mod(19, 136), Mod(122, 272), Mod(226, 272), Mod(6, 272), Mod(126, 272), Mod(25, 136), Mod(77, 136), Mod(78, 272), Mod(198, 272), Mod(114, 272), Mod(218, 272), Mod(15, 136)])
(17, 9, [Mod(87, 136), Mod(258, 272), Mod(90, 272), Mod(142, 272), Mod(262, 272), Mod(93, 136), Mod(9, 136), Mod(214, 272), Mod(62, 272), Mod(250, 272), Mod(82, 272), Mod(83, 136)])
(17, 10, [Mod(3, 272), Mod(39, 272), Mod(125, 272), Mod(41, 272), Mod(129, 272), Mod(181, 272), Mod(63, 272), Mod(235, 272)])
(17, 11, [Mod(71, 272), Mod(107, 272), Mod(57, 272), Mod(245, 272), Mod(61, 272), Mod(113, 272), Mod(131, 272), Mod(31, 272)])
(17, 12, [Mod(173, 272), Mod(73, 272), Mod(227, 272), Mod(7, 272), Mod(95, 272), Mod(11, 272), Mod(97, 272), Mod(133, 272)])
(17, 13, [Mod(70, 136), Mod(20, 272), Mod(55, 68), Mod(260, 272), Mod(108, 272), Mod(92, 272), Mod(42, 136), Mod(26, 136), Mod(44, 272), Mod(28, 272), Mod(148, 272), Mod(13, 68), Mod(116, 272), Mod(134, 136)])
(17, 14, [Mod(105, 272), Mod(5, 272), Mod(23, 272), Mod(75, 272), Mod(163, 272), Mod(79, 272), Mod(29, 272), Mod(65, 272)])
(17, 15, [Mod(53, 136), Mod(54, 272), Mod(158, 272), Mod(74, 272), Mod(194, 272), Mod(127, 136), Mod(43, 136), Mod(146, 272), Mod(266, 272), Mod(46, 272), Mod(150, 272), Mod(49, 136)])
(17, 16, [Mod(36, 136), Mod(88, 272), Mod(38, 68), Mod(56, 272), Mod(40, 272), Mod(24, 272), Mod(76, 136), Mod(60, 136), Mod(248, 272), Mod(232, 272), Mod(216, 272), Mod(30, 68), Mod(184, 272), Mod(100, 136), Mod(33, 34)])
(19, 2, [Mod(325, 342), Mod(79, 342), Mod(143, 342), Mod(317, 342), Mod(337, 342), Mod(167, 342)])
(19, 3, [Mod(211, 342), Mod(307, 342), Mod(257, 342), Mod(89, 342), Mod(223, 342), Mod(281, 342)])
(19, 4, [Mod(2, 342), Mod(212, 342), Mod(118, 171), Mod(62, 171), Mod(139, 171), Mod(142, 171), Mod(124, 342), Mod(184, 342), Mod(242, 342), Mod(262, 342), Mod(149, 171), Mod(74, 171)])
(19, 5, [Mod(268, 342), Mod(22, 342), Mod(80, 171), Mod(100, 171), Mod(158, 171), Mod(47, 171), Mod(200, 342), Mod(32, 342), Mod(280, 342), Mod(224, 342), Mod(130, 171), Mod(169, 171)])
(19, 6, [Mod(230, 342), Mod(98, 342), Mod(61, 171), Mod(119, 171), Mod(82, 171), Mod(85, 171), Mod(238, 342), Mod(298, 342), Mod(128, 342), Mod(34, 342), Mod(35, 171), Mod(131, 171)])
(19, 7, [Mod(78, 342), Mod(60, 342), Mod(156, 171), Mod(24, 171), Mod(120, 171), Mod(7, 57), Mod(8, 114), Mod(66, 171), Mod(48, 342), Mod(11, 57), Mod(88, 114), Mod(336, 342), Mod(204, 342), Mod(300, 342), Mod(168, 171), Mod(150, 171)])
(19, 8, [Mod(21, 342), Mod(3, 342), Mod(103, 114), Mod(105, 342), Mod(107, 114), Mod(51, 342), Mod(147, 342), Mod(15, 342)])
(19, 9, [Mod(116, 342), Mod(326, 342), Mod(4, 171), Mod(5, 171), Mod(25, 171), Mod(28, 171), Mod(10, 342), Mod(70, 342), Mod(14, 342), Mod(148, 342), Mod(92, 171), Mod(17, 171)])
(19, 10, [Mod(287, 342), Mod(155, 342), Mod(181, 342), Mod(241, 342), Mod(185, 342), Mod(319, 342)])
(19, 11, [Mod(192, 342), Mod(174, 342), Mod(42, 171), Mod(138, 171), Mod(6, 171), Mod(26, 57), Mod(46, 114), Mod(123, 171), Mod(276, 342), Mod(49, 57), Mod(50, 114), Mod(222, 342), Mod(318, 342), Mod(186, 342), Mod(111, 171), Mod(93, 171)])
(19, 12, [Mod(249, 342), Mod(231, 342), Mod(65, 114), Mod(219, 342), Mod(31, 114), Mod(165, 342), Mod(33, 342), Mod(129, 342)])
(19, 13, [Mod(59, 342), Mod(269, 342), Mod(67, 342), Mod(127, 342), Mod(299, 342), Mod(205, 342)])
(19, 14, [Mod(97, 342), Mod(193, 342), Mod(29, 342), Mod(203, 342), Mod(109, 342), Mod(53, 342)])
(19, 15, [Mod(173, 342), Mod(41, 342), Mod(295, 342), Mod(13, 342), Mod(71, 342), Mod(91, 342)])
(19, 16, [Mod(40, 342), Mod(136, 342), Mod(137, 171), Mod(43, 171), Mod(44, 171), Mod(104, 171), Mod(86, 342), Mod(260, 342), Mod(52, 342), Mod(110, 342), Mod(73, 171), Mod(112, 171)])
(19, 17, [Mod(154, 342), Mod(250, 342), Mod(23, 171), Mod(157, 171), Mod(101, 171), Mod(161, 171), Mod(314, 342), Mod(146, 342), Mod(166, 342), Mod(338, 342), Mod(16, 171), Mod(55, 171)])
(19, 18, [Mod(135, 342), Mod(117, 342), Mod(27, 114), Mod(333, 342), Mod(69, 114), Mod(279, 342), Mod(261, 342), Mod(243, 342), Mod(37, 38)])

I.e. if $(p,c,x)$=(17, 2, Mod(121, 136)),

then $(121+j\cdot 136)^{121+j\cdot 136}\equiv 2\pmod{17}$, where $j\in\mathbb{N}$

Dmitry Ezhov
  • 1,653
1

Just expanding the answer of Ben Grossmann:

Fix $c$ and prime $p$.

If $c\equiv 0 \pmod{p}$ then take $x = p$.

Otherwise let $a$ be any generator of the multiplicative group $\mathbb{Z}_p^\star$ (it is well known that this group is cyclic, so it has a generator) and let $b\in\{0,\ldots,p-1\}$ be the discrete logarithm of $c \bmod p$ with the base $a$, i.e. $a^b\equiv c\pmod{p}$ ($b$ exists because $a$ is a generator).

Because $p$ and $p-1$ are relatively prime, by the Chinese Remainder Theorem there exists $x\in\{1,\ldots,p(p-1)\}$ such that $x\equiv a\pmod{p}$ and $x\equiv b\pmod{p-1}$, so $x = y\cdot(p-1)+b$ for some $y$.

We have $$x^x\equiv a^{y(p-1)+b}\equiv a^b\equiv c\pmod{p}$$ because $a^{p-1}\equiv 1\pmod{p}$, by the FLT.

johny bravo
  • 330
  • 1
  • 3