c===================== Edition from 22.03.2007 =========================
      subroutine Diffun(N,t,x,f)
c
c Правые части системы уравнений
c
      implicit real*8 (a-h,o-z)
      implicit integer*4 (i-n)
      real*8 x(1:N), f(1:N)
      include 'Param_common.fi'
      common /W_Ypositive/ I_Ypositive   ! контроль положительности решения
	common /WI_Max/ I_end, I_Max       ! информация о сходимости решения
	common /WF_Max/ F_Max              ! информация о сходимости решения
      include 'Param_Risol.fi'
c-----------------------------------------------------------------------
      if (I_Ypositive.eq.1) then
         do i=1,N
         x(i)=dmax1(0.d0,x(i))
         end do
      end if
c
      include 'fcn.fi'
c
c Ошибки
      CALL error('Diffun')
c            
c Информация о сходимости решения
      if (I_end.eq.1) then
      I_Max=1
      F_Max=dabs(f(1))
         do i=1,N
         FF_Max=dabs(f(i))
            if ( F_Max.lt.FF_Max ) then
            F_Max=FF_Max
            I_Max=max(i,1)
            end if
         end do
      F_Max=f(I_Max)
      end if
c            
******** end of Diffun *************************************************
      return
      end