def get_indexes(_square):
    """
    Returns row, column, and box indexes for a square.
    Indexing is 0-based and goes left-to-right and top-to-bottom.
    0 is the top-left square index, 80 is the bottom-right square index.
    Rows are numbered 0-8 from the top-to-bottom.
    Columns are numbered 0-8 from left-to-right.
    0 is the top-left box index, 8 is the bottom-right box index.

    :param _square: 0-based square index
    :return: (0-based row index, 0-based column index, 0-based box index)
    """
    _row = _square // 9
    _col = _square % 9
    _box = (_col // 3) + ((_row // 3) * 3)
    return _row, _col, _box