Задачка, конечно, оригинальная и занятная. Но только одна проблема - перед тем, как писать код, надо четко понимать логику игры. По большому счету, реально написать может лишь тот, кто превосходно в эту игру играет вживую (ну если речь не про сбор информации, проведение сотен неудачных игр со случайным результатом, и записывании под каждый уровень нескольких -в зависимости от поведения противника- сработавших алгоритмов).
Первый вариант не смогу, хоть игра и математическая (т.е. один неверный ход - и ты проиграл), но ближе чем за 3 хода до конца не могу предугадать, кто кого. Стратегий увидела несколько - если 2 строки - то оставлять противнику поровну в строчках (доведение до ситуации 2-2). При трех строчках - если в 1 строке 1 шарик, то делать так, чтобы сумма его и второй строки была равна третьей. И перевод ситуации в 1-2-3, или 2-2, или 1-1-1. Ещё кучу правил понять не удалось - хотя и полчаса там провисела, дошла лишь до 7.
Второй вариант - поиск экспериментальным путем правильных решений и их запись для каждого уровня. Если честно, немного лениво это делать... Но если хотите, начинайте, ошибки подправить поможем. А как соберете мозайку насчет выигрышной стратегии игры, расскажите нам - глядишь и поймем, как выигрывать незнакомые раунды и сделать бот по первому варианту)