Я сейчас напишу крамолу. Умение решать задачи есть по сути умение выбрать для задачи стандартный алгоритм из числа ранее изученных и умение его применить. Не тратьте времени на попытки научить ребёнка изобретать алгоритм самостоятельно.Все математические задачи стандартны. Да, ВСЕ, я знаю, что говорю. Если ребенок в математике способный, можно его упражнять, давая ему задачи, алгоритм для которых ему неизвестен. Но вообще обучение математике строится по принципу «разбираем решение типовой задачи, далее отрабатываем на самостоятельном решении аналогичных.»Отрабатывайте типовые задачи. Объяснили задачу про груши- решили десять других про яблоки, машины, детей, грибы, килограммы картофеля.И олимпиадная математика тоже строится по такому же принципу, «понять объяснение - отработать аналогичное». Умение самому изобретать решение - это опция. Некоторые умеют, но это не необходимый навык, да и дано не всем.И ещё на самом деле очень важна правильная запись условия и решения  - такая, как учат в школе. Многие недооценивают.