1) Если всего было бы 111 солдат, а в первой роте 46, то во второй было бы 111-46=65 солдат.
Но в первой роте солдат БОЛЬШЕ, чем 46 (хотя бы на 1), да и всего солдат меньше, чем 111 (хотя бы на 1), значит, во второй роте явно МЕНЬШЕ, чем 65 солдат (хотя бы на 1+1=2) . Самое большое, что в ней 65-2=63 солдата, но МОЖЕТ быть и меньше.
2) Роту "можно построить по несколько человек в ряд так. что в каждом ряду будет одинаковое число солдат, больше 8,-и при это ни в каком ряду не будет солдат из двух разных взводов" -
ЗНАЧИТ, число солдат и всего в двух взводах, и в КАЖДОМ из них делится на 9, или 10, или 11...
НАПРИМЕР, второй взвод (63 солдата или меньше) можно построить в 7 рядов (63:9=7), или в 6 рядов (60:10), или в 5 рядов (60:12, 55:11).
Если во втором взводе 60 солдат построены в 6 рядов по 10 человек, то в первом, где всего (максимум 110-60=) не более 50 солдат, должно быть меньше рядов (тоже по 10 человек), всего не более 50:10=5.
Вот вам и пример: во втором взводе 60 солдат построены в 6 рядов по 10 человек, в первом 50 солдат, всего 110 солдат в роте.
Ну и "можно ли построить роту указанным способом по 13 солдат в одном ряду"?
Найдем число, которое = 63 или МЕНЕЕ, и при этом делится на 13. Это 13*4=52 (самое БОЛЬШОЕ число солдат во втором взводе), или 13*3=39, или 13*2=26.
Найдем число, которое НЕ МЕНЕЕ 46 (=46 или более) и при этом делится на 13. Это 13*4=52 (самое МАЛОЕ число солдат во первом взводе), или 13*5=65, или 13*6=78.
Помним, что во втором взводе должно быть БОЛЬШЕ солдат, чем в первом - это условие НЕ МОЖЕТ быть выполнено (в лучшем случае РАВНО, по 52 солдата в каждом взводе).