When a number is too big for any integer type, given as a string with hundreds of digits, you need divisibility rules that work digit by digit.
Rule for 11: take the alternating sum of the digits, d₀ − d₁ + d₂ − …. The number is divisible by 11 exactly when that sum is. It works because 10 ≡ −1 (mod 11), so 10ᵏ alternates between +1 and −1.
The general technique, a running remainder, works for any divisor: rem = (rem × 10 + digit) % k for each digit from left to right.