from typing import Union


def six_digit_perfect_square() -> Union[int, None]:
    """Find a six digit perfect square whose three most significant digits in
    base 10 taken as a number are one more than the three least significant
    digits taken as a number.

    Returns:
        The perfect square satisfying the above conditions if found, otherwise
        None.
    """
    for i in range(300, 1000):
        j = i * i
        lsd = j % 1000
        msd = (j - lsd) // 1000
        if msd == lsd - 1:
            return j