Перевернётся и станет почти правильным.
Дело в том, что в этой методичке ещё и в рисунке ошибка.
В начальном значении

максимум будет в точке 0.125, соответственно, в решении он чуть сдвинется вправо.
А в отсканированном рисунке этот максимум в районе 0.25, что неправильно.
А то, что у Вас левый хвост уходит ниже значения 1, это вполне объяснимо. Ведь у Вас

, что является весьма странным условием, коэффициенты просто взяты от балды (так же, как и коэффициенты для правого краевого условия).
Почему взяты от балды, конечно, понятно. Неоткуда взять правильное граничное условие при

, ибо у исходной задачи оно не задано. Тут всё что угодно можно напридумывать.
Я, впрочем, подозреваю, что подразумевалось что-то вроде того, что начальное условие задано на всём

, например, так:
(я добавил

), ну и, типа, решается не краевая задача, а задача Коши.
Тогда, действительно, граничное условие легко восстанавливается:

, откуда и условие на

тривиально выписывается, и никаких

,

не нужно. Но от

,

избавиться с такой схемой, вроде, не получится, ввиду чего, при задании их от балды, и получаются "глюки" на правом конце отрезка.
Так что меня в Вашем решении ничего не удивляет, весьма вероятно, что Вы запрограммировали всё правильно.
Добавлено спустя 11 минут 19 секунд:
А, собственно, с чего я взял, что решается краевая задача, а не задача Коши? Видимо, задача Коши и решается
Меня сбило с толку условие

для уже разностной задачи.
Всё равно, в методичке как-то очень неаккуратно... Похоже,

задано именно так, как я написал, сужу по отсканированному рисунку в методичке, иначе решение при уменьшении x меньше нуля должно было расти, а оно остаётся равым 1.
Всё вышенаписанное остаётся в силе, за исключением замечания, что нужно задавать

. Не нужно. Тем не менее, формулы все остаются (в т.ч. и правильное условие на левом конце сетки:

).