Code:
#define EXP7(x) ((x) * (x) * (x) * (x) * (x) * (x) * (x))
uint64_t res = 0x90de757572b51cd3ULL;
uint64_t key = 0;
uint64_t mask = 1ULL;
while (mask)
{
if ((EXP7(key) ^ res) & mask)
{
key |= mask;
if ((EXP7(key) ^ res) & mask)
break;
}
mask <<= 1;
}
if (mask)
printf("not found");
else
printf("found: 0x%llX", key);