Как в С++ реализовать перемножение числовых значений?
Никакой стандартный тип в крестах не вместит число больше 2^64-1, так что ваша программа работать не будет.
Вам придется разбираться с длинной арифметикой, то есть с библиотекой типа GMP
Другое дело, что в данном конкретном случае как раз получится 2^64-1, так что в 64 бита все влезет, но если в шахматы добавить хоть одну клеточку - кина не будет.
Используйте другой тип, размерность которого позволит вывести нужное число. Всякие там unsigned long и прочее.
если их не хватает - гуглите про математику больших чисел.