Shanks–Tonelli algorithm wikipedia - Search